在 Ruby 2.1 中,def
现在返回一个符号
[1] pry(main)> def foo; end
=> :foo
一个很酷的用例是,因为private
和protected
是采用符号并将方法设为私有的方法,您现在可以像这样创建私有方法:
private def foo
end
但是,我不能让它与类方法一起使用。这段代码:
protected def self.baz
end
将出错:protected': undefined method 'baz' for class 'User' (NameError)"
。
有没有办法让它工作?