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