/ / как да използвам mod: instance_method? - рубин

как да използвате mod: instance_method? - рубин

Направих малък пример, за да направя същото нещо като "some string".methods като се използва instance_method:

instance_method("methods").bind("some string").call

Не знам какво е приемникът на instance_method, така че, разбира се, имам неопределени методи за грешка

Какъв е правилният начин да използвате този метод?

Отговори:

2 за отговор № 1

instance_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"методите.