Есть ли сокращение, если (без других) в Ruby on Rails?
Я знаю, что в Ruby есть сокращенный однострочный оператор if/else:
a ? b : c
Есть ли какой-нибудь один оператор if
? Вместо этого:
if a
# do something
end
Есть ли сокращенная версия этого?
Ответы
Ответ 1
Вы можете использовать условия сообщения (не обращайте внимания на имя, оно будет оценено до кода. И do_something
будет выполняться только в том случае, если условие оценивает значение правды (т.е. не nil
или false
)).
do_something if a
Ответ 2
do_something if a
Сначала будет оцениваться условие if
(в данном случае a
), и если оно true
(или в случае a
, а не false
или nil
), оно выполнит do_something
. Если он false
(или nil
), он перейдет к следующей строке кода, никогда не выполняющемуся do_something
.