如何对多行代码使用if(without else)语句?

时间:2015-10-19 14:58:06

标签: ruby

This question告诉我如何在没有else的情况下使用if语句。我需要完全相同的东西,但需要多行代码而不是一行代码。

我试过这个,但这似乎不起作用:

def self.foo(a)
    {
    #mutiple lines of code
    }if a == true
end

2 个答案:

答案 0 :(得分:4)

这是非常基本的ruby语法。所有ruby control structures都可以内嵌方式使用,或以多行/阻止方式使用,以结束关键字结束。< / p>

def self.foo(a)
  if a == true
    # mutiple lines of code
  end
end

有关语法和ruby最佳实践的更多信息,请参阅:this ruby style guide

答案 1 :(得分:1)

如果你真的想这样做,请使用parenteses,而不是大括号:

def self.foo(a)
  (
    puts 'a'
    puts 'b'
  ) if a == true
end

虽然我必须警告你,但这种风格在红宝石社区并不常见。请改用常规if语法。