1
問題Ruby: Private method called for 3:Fixnum和private method `split' called for nil:NilClass (NoMethodError)分別提及私人方法split
對於Fixnum
和NilClass
對象。什麼monkeypatch創建私有方法拆分?
這是私人的split
方法monkeypatched僞關鍵字(如print
和puts
)?如果是這樣,那麼添加它,爲什麼他們使用String
已存在的方法名?
打印期權和看跌期權不是「僞關鍵字」。他們只是方法。我不熟悉任何將#split添加到NilClass的寶石或庫,所以我不能直接對此進行評論。也許你可以做一些取證,找出哪些庫是猴子補丁NilClass添加一個私人的#split方法(這很奇怪)。 – 2011-04-18 00:25:41
'split'來自內核[DigitalRoss](http://stackoverflow.com/questions/5697282/ruby-private-method-called-for-3fixnum/5697293#5697293)筆記。然後,據推測,Fixnum和NilClass提供了他們自己的覆蓋,基本上,從他們的界面中刪除'split'。 – 2011-04-18 00:35:46
@mu太短:D'Oh!不知道爲什麼我沒有注意到 - 也許是在我已經讀過這個問題後發佈/添加的。我應該只是關閉這個問題,或者刪除它? – 2011-04-18 01:16:27