scalabook

Форк
0
96 строк · 3.0 Кб

if/else

Однострочное if

выражение выглядит так:

val x = 1
if x == 1 then println(x)
// 1

Когда необходимо выполнить несколько строк кода после if

, используется синтаксис:

if x == 1 then
println("x is 1, as you can see:")
println(x)
// x is 1, as you can see:
// 1

if

/else
синтаксис выглядит так:

if x == 1 then
println("x is 1, as you can see:")
println(x)
else
println("x was not 1")
// x is 1, as you can see:
// 1

if

/else if
/else
выглядит так же, как и в других языках:

def detect(x: Int) =
if x < 0 then
println("negative")
else if x == 0 then
println("zero")
else
println("positive")
detect(-1)
// negative
detect(0)
// zero
detect(1)
// positive

При желании можно дополнительно включить оператор end if

в конце каждого выражения:

if x == 1 then
println("x is 1, as you can see:")
println(x)
end if

if/else выражение всегда возвращает результат

Сравнения if/else

образуют выражения - это означает, что они возвращают значение, которое можно присвоить переменной. Поэтому нет необходимости в специальном тернарном операторе. Пример:

val minValue = if a < b then a else b

Можно использовать if/else

выражение в качестве тела метода:

def compare(a: Int, b: Int): Int =
if a < b then -1
else if a == b then 0
else 1

Как будет видно дальше, все структуры управления Scala можно использовать в качестве выражений.

Программирование, ориентированное на выражения (expression-oriented programming или EOP) - стиль разработки, когда каждое написанное выражение возвращает значение.

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

По мере погружения в Scala можно обнаружить, что пишется больше выражений и меньше утверждений.


Ссылки:

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.