Ich gehe durch ein Scala-Tutorial und es wird erklärt, dass alle Operatoren Methodenaufrufe sind. Also 1 * 2
ist wirklich:
Nur um zu sehen, was passieren würde, lief ich:
%Vor%Also ich führe es noch einmal mit dem Deprecation-Flag aus und bekomme:
%Vor% Könnte mir bitte jemand diese Warnung erklären und mir auch erklären, welchen Zweck die Klammern um die 1 in scala> (1).*(2)
erfüllen?
Wenn Sie 1.*(2)
sagen, ist es zweideutig, ob Sie meinen:
(1).*(2)
, was zu einem Int
oder
(1.)*(2)
, was zu einem Double führt, da 1.
eine gültige Syntax ist, die Double 1.0
Scala behandelt es derzeit als zweites, aber da das richtige Verhalten nicht offensichtlich ist, wird es sich von Scala 2.11 an ändern, um es wie das erste zu behandeln. Scala warnt dich, dass sich sein Verhalten ändern wird.
Tags und Links scala