我想一個one?
方法添加到Array#size
,這樣我可以說:如何向Array#大小添加方法?
class Array
def one?
self.size == 1
end
end
[1].size.one?
#=> true
[1,2].size.one?
#=> false
我想一個one?
方法添加到Array#size
,這樣我可以說:如何向Array#大小添加方法?
class Array
def one?
self.size == 1
end
end
[1].size.one?
#=> true
[1,2].size.one?
#=> false
如果你看到的[1].size
class
,它是Fixnum
,所以如果你想鏈上[1].size
one?
功能,你將不得不這個定義爲Fixnum
類,以及像以下:
class Fixnum
def one?
self == 1
end
end
現在下面也將工作:
[1].size.one?
#=> true
[1,2].size.one?
#=> false
既然size
返回一個Fixnum,它必須在那裏定義,因爲它工作正常。
class Fixnum
def one?
self == 1
end
end
[1].size.one?
#=> true
爲什麼同樣的答案嗎? 與其他答案同時發佈,所以決定放棄它。
你爲什麼發佈相同的答案? – Stefan
這不是一個類方法,它是一個實例方法。 – baash05