Подтвердить что ты не робот

Есть ли сокращение, если (без других) в Ruby on Rails?

Я знаю, что в Ruby есть сокращенный однострочный оператор if/else:

a ? b : c

Есть ли какой-нибудь один оператор if? Вместо этого:

if a
  # do something
end

Есть ли сокращенная версия этого?

4b9b3361

Ответ 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.