我知道Ruby中的x == y
解釋爲a.==(y)
。我想檢查我是否可以達到同樣的定製方法,foo
,像這樣:是== Ruby中的一種特殊方法嗎?
class Object
def foo(n)
self == n
end
end
class A
attr_accessor :x
end
a = A.new
a.x = 4
puts a.x.==(4) # => true
puts a.x.foo(4) # => true
puts a.x == 4 # => true
puts a.x foo 4 # => in `x': wrong number of arguments (1 for 0) (ArgumentError)
不幸的是,這是行不通的。我錯過了什麼? ==
是Ruby中的一種特殊方法嗎?
真棒答案。我在這裏學到了東西。 – d11wtq