3
A
回答
9
你需要在课堂上做到这一点。像这样:
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"
相关问题
- 1. 如何重载<<运算符?
- 2. 在C++中重载<<运算符
- 3. 重载运算符<<在C++
- 4. 重载C++插入运算符(<<)
- 5. 重载运算符<<数组
- 6. 重载运算符<< ostream语法
- 7. >><<和运算符重载
- 8. 重载运算符<< ostream的
- 9. 重载运算符<< operator ==和operator!=
- 10. 运算符重载C++(<<)
- 11. 重载运算符<<为集
- 12. 如何超载运算符<<
- 13. 重载运算符<< - 必须是二元运算符
- 14. C++重载运算符<<和运算符>>
- 15. shovel(<<)运算符在Ruby Hashes中如何工作?
- 16. 超载<=>运算符ruby?
- 17. 如何正确重载ostream的<<运算符?
- 18. 如何重载运算符<< for qDebug
- 19. 运算符<< C++中的超载
- 20. 在派生类中重载运算符<<
- 21. 如何重载<<运算符以在C++中打印数组的内容?
- 22. 如何重载ostream运算符<<以使其在C++中使用log4cxx?
- 23. 重载<运算符类内部
- 24. 重载运算符<<在模板类
- 25. 重载运算符<<在类内工作吗?
- 26. 重载<<运算符的ostream,在虚函数
- 27. C++重载运算符<<在Matrix类
- 28. 重载运算符<<以字符串
- 29. 超载运算符<<用于ostream
- 30. C++ 11 <<运算符specefic超载
在您的解决方案中w.roles不会调用重写的<<方法。它只是调用@roles属性中的<未覆盖的属性。您可以通过在覆盖的<<方法中添加一个puts行来测试这个问题,您会看到'w <<“1”转储puts输出,但w.roles <<“2”不会转储那个puts输出。 – jaydel 2012-05-23 19:13:53
@jaydel,你是对的。我更新了代码。 – Geo 2012-05-23 19:34:48