如何在Ruby中的一行中定义方法?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (13)

def greet; puts "hello"; end在Ruby的一行中定义方法的唯一方法是什么?

提问于
用户回答回答于

如果使用括号,则可以避免使用分号:

def hello() :hello end
用户回答回答于

通常避免单线方法。。

# bad
def too_much; something; something_else; end

# okish - notice that the first ; is required
def no_braces_method; body end

# okish - notice that the second ; is optional
def no_braces_method; body; end

# okish - valid syntax, but no ; make it kind of hard to read
def some_method() body end

# good
def some_method
  body
end

该规则的一个例外是空体方法。

# good
def no_op; end

扫码关注云+社区