Могу ли я использовать фигурные скобки в Ruby's if / else? - PullRequest
6 голосов
/ 14 сентября 2010

Почему я не могу использовать фигурные скобки в конструкциях if / else? Я оставил Python, так как не чувствовал себя комфортно с отступами в предложениях.

Так же, как и в Ruby?

Например, я могу написать что-нибудь подобное?

if token == "hello" {
  puts "hello encountered"
  # lots of lines here
}

Есть ли способ использовать фигурные скобки для этого? Я также читал о блоках, но не уверен, как их можно использовать в выражениях if / else.

Ответы [ 3 ]

15 голосов
/ 14 сентября 2010

Вы не можете использовать фигурные скобки, но отступ также не имеет значения.Вместо закрывающей скобки Ruby использует ключевое слово end.

if token == "hello"
  puts "hello encountered"
  # lots of lines here
end

Тем не менее, я бы все же рекомендовал делать отступы осторожно - код с плохим отступом обманет читателей, даже если фигурные скобки используются правильно.

13 голосов
/ 15 сентября 2010

Это мило:

def my_if(condition, &block)
    block.call if condition
end

Использовать следующим образом:

my_if(token == "hello") { 
    puts "hello encountered!" 
}
4 голосов
/ 14 сентября 2010

Неа.Вам нужно использовать end вместо }.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...