В чем отличие условных выражений в Scala от Java?

325
08 июля 2017, 08:23

Прохожу курс на Coursera. Там объясняются условные выражения. Говорится, что они не похожи на условные выражения в Java. Scala в условных выражениях использует expression без statements. Но что мы видим на практике:

def abs(x: Double) = if (x < 0) -x else x

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

scala> def abs(x: Double) = if (x < 0) -x else x
abs: (x: Double)Double
scala> abs(-5)
res0: Double = 5.0
scala> abs(5)
res1: Double = 5.0
Answer 1

Разница в том, что в Scala if - это вычисляемое выражение (его можно присвоить переменной), а в Java - это выполняемое выражение (его нельзя присвоить переменной).

if в Scala похож на ?: (тернарный оператор) из Java.

READ ALSO
Very slowly inserts to db [требует правки]

Very slowly inserts to db [требует правки]

I'm use MongoDB-34 WiredTiger and insert(List) and take result 1 million rec = 33s

293
Матрица бинарных отношений [требует правки]

Матрица бинарных отношений [требует правки]

Есть данные, например (A B C D F) and (E Z X W)

230
Проблема с динамическим задание в JLabel текста

Проблема с динамическим задание в JLabel текста

Изучаю java и придумал для себя небольшой проэктик , вопрос в следующемЕсть три отдельных класса{1,2,3} , первый{1} в котором есть вышеуказанный...

242
JSON.Вложенные страницы

JSON.Вложенные страницы

Есть такой JSON http://appwheelshop

163