2014-11-22T11:43:24
topegMethods: (5 + 9).ToString;
Das Problem hierbei ist, das Perl im Perl5 im Kern nicht Objektorientiert arbeitet.
Sowas:
geht halt nicht so einfach. Nur so was kann man machen:
Math::Number->new(5+9)->toSting()
(oder wie man die Klasse nennen will) Das Hauptproblem ist, das Zahlen keine Referenzen sind (die blessed sind). Perl würde also das hier:
(5+9)->toString() so interpretieren:
14->toString() Da würde also nach der Klasse "14" gesucht werden. Sicherlich könnte man da mit Autoload oder ähnlichem tricksen und eine Klasse dynamisch erzeugen die von "Math::Number" (oder so) erbt.
Die geforderte Funktion ist in Perl5 längst vorhanden:
(5+9).''
Dass hier niemand gleich auf diese Notation gekommen ist, führe ich darauf zurück, dass man sie in Perl (als explizite Funktion) schlicht nicht braucht, weil Perl die Zahlen bei Bedarf automatisch in Strings umwandelt.