5

Как сделать такое присвоение возможным. = возвращает Unit.

Anton
  • 51

2 Answers2

3
val x, y = 1

Вывод:

>>x: Int = 1
>>y: Int = 1
EnverOsmanov
  • 1,277
1

Фактически, x является Unit в этом случае::

var y = 2
var x = y = 1

Может быть прочитан как:

var y = 2
var x = (y = 1)

и наконец:

var x: Unit = ()

Вы можете перейти к типу x = y = 1 в оболочке REPL без ошибок:

var x:Unit = {}
var y = 0
x = y = 1
code211218
  • 3,953