Направих малък пример, за да направя същото нещо като "some string".methods
като се използва instance_method
:
instance_method("methods").bind("some string").call
Не знам какво е приемникът на instance_method, така че, разбира се, имам неопределени методи за грешка
Какъв е правилният начин да използвате този метод?
Отговори:
2 за отговор № 1instance_method
приемникът ще бъде самостоятелен, независимо от контекста, в който се намирате. Това вероятно е грешка.
Това, което вие (вероятно) искате да направите, е да му дадете изричен приемник. В този случай класа, който държи методите за струните, String
клас.
str = "some string"
meths = String.instance_method("methods").bind(str)
meths == str.method("methods") # => true
meths.call # => [:<=>, :==, :===, ...etc... ]
Ще видиш? "some string"
е пример за String
, Така String
методите на инстанцията са "some string"
методите.