5
A
回答
7
问号实际上是方法名称的一部分,所以你可以这样做:
class MyClass
def empty?
@arr.empty? # Implicitly returned.
end
end
2
正是我在过去后表现出相同的,但使用不同的方法名。
首先,create
必须用empty?
方法返回一些东西。例如:
class MyClass
def self.create
[]
end
end
如果你想被按你的最后一个问题上的MyClass
实例操作:
class MyClass
def self.create
MyClass.new
end
def initialize
@arr = []
end
def empty?
@arr.empty?
end
def add x
@arr << x
self
end
end
这里MyClass
作为围绕一个数组的简单包装,提供add
方法。
pry(main)> MyClass.create.empty?
=> true
2
您可能还需要检查@arr是否为零。这取决于你的空类定义。
def empty?
[email protected] || @arr.empty?
end
0
你可以使用Forwardable
委托从你的类empty?
到数组:
require "forwardable"
class MyClass
extend Forwardable
def_delegators :@arr, :empty?
def initialize(arr)
@arr = arr
end
end
my_object = MyClass.new([])
my_object.empty? # => true
相关问题
- 1. Ruby中的布尔值
- 2. 如何用Ruby中的多个布尔变量重构方法
- 3. 布尔和方法
- 4. ActiveRecord'destroy'方法在Ruby on Rails中返回一个布尔值?
- 5. 布尔运算在Ruby中
- 6. ArrayList的布尔方法
- 7. Java的布尔方法
- 8. 我的布尔方法java
- 9. 布尔方法的更好方法rails
- 10. ruby是否具有布尔值的数组求和方法?
- 11. 类型数组中的布尔方法
- 12. Mutator方法中的布尔值
- 13. 布尔,如果方法,
- 14. 布尔方法混淆
- 15. *方法*调用布尔值
- 16. 与update_attributes方法布尔场
- 17. JNI,调用布尔方法
- 18. C#私有方法布尔
- 19. 使用布尔方法
- 20. &&不会在布尔方法
- 21. Ruby中的布尔型参数错误
- 22. Android:在布尔方法中使用BroadcastReceiver
- 23. ruby整数到布尔值
- 24. Ruby on Rails布尔形式
- 25. 如何更改方法中布尔方法的值?
- 26. 方法中的一个方法,以取代布尔语句
- 27. Ruby:布尔正则表达式方法的正确语法是什么?
- 28. Java的布尔方法的返回
- 29. 无法找到方法setModal(布尔)
- 30. 在ruby中传递布尔参数
你的意思是*类变量*'@@ arr'或*实例变量*'@ arr'? – maerics
在Ruby中,有'initialize'被'MyClass.new'调用。 – Reactormonk
“在Ruby中,有被MyClass.new调用的初始化”。同意。在Ruby中遵循这一点是很好的;当你有你的Ruby拖鞋时,坚持黄砖路。 –