Язык программирования Crystal

Как выражение

if возвращает значение последнего выражения, вычисленного в каждой из его ветвей:

a = if 2 > 1
      3
    else
      4
    end
a #=> 3

Если одна из ветвей if пуста или её нет, считается, что она содержит nil:

if 1 > 2
  3
end

# То же, что и:
if 1 > 2
  3
else
  nil
end

# Ещё пример:
if 1 > 2
else
  3
end

# То же, что и:
if 1 > 2
  nil
else
  3
end