Thread Würdest du auf Perl 6 umsteigen? (38 answers)
Opened by Muffi at 2014-01-27 17:00

Muffi
 2014-01-29 15:22
#173275 #173275
User since
2012-07-18
1465 Artikel
BenutzerIn
[default_avatar]
Warum kann ich mit "=" z.B. Strings und Integer zuweisen, mit "==" aber nicht vergleichen?
Was passiert denn z.B. bei Perl5, wenn ich vergleichen will:
Wenn ich 2 strings hab nehm ich eq, wenn ich 2 Zahlen hab nehm ich ==.
Also kann ich die Unterscheidung auch wegwerfen, weil redundant.

Dann gibt's noch ein paar Hack-Fälle, wo ich damit sowas wie einen automatischen Cast erreiche. Das geht aber genauso mit
if (~$num1 == ~$num2) # sorg dafür, dass strings verglichen werden
Und das würde zu ALLEN anderen Operatoren analog verlaufen.

Also welchen Vorteil haben die duzenden Operatoren?


edit: ein andres Thema, auch wenn ich Kontexte ganz witzig finde, ist, wie viel Sinn sie noch in einer objektorientierten Welt machen.
Also wenn ein Integer auch nichts anderes als ein "normales" Objekt ist, warum gibt's dann einen numerischen Kontext, aber keinen MeinTyp-Kontext.
edit2: Eine witzige Idee wäre vielleicht, Kontext als einen Cast zu sehen, den das Objekt mitbekommt und ~$num ist einfach eine verkürzte Schreibweise für String($num), oder Objektorientiert: $num.to(String). Aber egal, es wird wohl langsam OT ;)
Last edited: 2014-01-29 15:44:41 +0100 (CET)
1 + 1 = 10

View full thread Würdest du auf Perl 6 umsteigen?