Настройка Scala Введите параметр в вызове метода - PullRequest
0 голосов
/ 24 мая 2018

У меня есть опечатка (потому что я не хотел, чтобы она была там) в моем коде scala, и я не могу сработать, если он доброкачественный.

enter image description here

On line 84 - разрешает ли scala это :Long, чтобы я мог напомнить себе, какого типа параметр?Это чем-то отличается от того, чтобы не устанавливать тип при передаче его в параметр?

Мое глубокое тестирование показывает, что строки 83 и 84 ведут себя одинаково

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

действительно ли Scala позволяет: Давно позвольте мне напомнить себе, к какому типу относится этот параметр?

Нет, он вообще не ограничен параметрами метода.Вы можете написать : SomeType после любого выражения (скобки могут быть необходимы).Вы можете думать об этом как о похожем на

val iAmLong1: Long = iAmLong
callMe(iAmLong1)

. В общем, его можно использовать для облегчения вывода типа или, как упоминает ответ Сом-Снитта, для запуска неявного преобразования.

0 голосов
/ 24 мая 2018

Атрибут типа в выражении может вводить неявное преобразование, поэтому оно не обязательно является в общем случае доброкачественным.Это не имеет никакого эффекта в вашем примере.Кроме того, если метод перегружен, вы можете выбрать другую перегрузку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...