![](/img/trans.png)
[英]How do you write a conditional ternary operator inline in Ruby on Rails?
[英]How do you overload the << operator in Ruby?
我不知道如何为一个方法重载<<运算符。 这就是我认为它会起作用的方式:
def roles<<(roles)
...
end
然而,这会引发错误。 有什么建议么?
你需要在课堂上这样做。 像这样:
class Whatever
attr_accessor :roles
def initialize
@roles = []
end
end
你不可能真的有一个<<roles
方法。 您必须拥有支持<<
运算符的roles
的访问器。
编辑:我已经更新了代码。 现在您可以看到<<
运算符应该如何重载,但您也可以执行roles<<
部分。 以下是它的一小部分用法:
w = Whatever.new
w << "overload for object called"
# and overloads for the roles array
w.roles << "first role"
w.roles << "second role"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.