def greet; puts "hello"; end
是在Ruby语言的一行中定义方法的唯一方法吗?
发布于 2010-11-29 18:43:33
如果使用括号,则可以避免使用分号:
def hello() :hello end
发布于 2010-11-29 15:37:53
def add a,b; a+b end
分号是Ruby的内联语句终止符
或者,您可以使用define_method
方法。(编辑:此版本在ruby 1.9中已弃用)
define_method(:add) {|a,b| a+b }
发布于 2010-11-29 15:48:05
另一种方式:
define_method(:greet) { puts 'hello' }
如果你不想在定义方法时为它输入新的作用域,可以使用。
https://stackoverflow.com/questions/4301668
复制相似问题