После поста пользователя aovoe захотелось что-то аналогичное для ruby. Наспех был накидан код, который умеет искать по селекторам без аргументов (например «hello».upcase).
Примеры:
MethodFinder может учитывать и несколько результатов, например:
Update:
Теперь и по селекторам с аргументами
Сорцы на гитхабе: github.com/mholub/method_finder/tree/master
Update:
Сие есть велосипед, ибо уже куча народа написала аналоги, например, andy@nobugs.org
www.nobugs.org/developer/ruby/method_finder.html
Улучшенная версия:
redhanded.hobix.com/inspect/stickItInYourIrbrcMethodfinder.html
Примеры:
irb(main):001:0> "hello".suggest_method("HELLO") => ["upcase", "swapcase"] irb(main):002:0> "hello".suggest_method("Hello") => "capitalize" irb(main):007:0> Date.parse('13 Sep 2009').suggest_method(256) # Programmer's Day => "yday" irb(main):009:0> 1.01.suggest_method(1) => ["prec_i", "round", "truncate", "to_i", "to_int", "floor"] irb(main):010:0> 1.01.suggest_method(2) => "ceil"
MethodFinder может учитывать и несколько результатов, например:
irb(main):011:0> MethodFinder.suggest_method(-1.01 => -2, 1.01 => 1) => "floor" irb(main):001:0> MethodFinder.suggest_method(-1.01 => -1, 1.01 => 1) => ["to_int", "round", "to_i", "prec_i", "truncate"]
Update:
Теперь и по селекторам с аргументами
irb(main):005:0> "hello ".suggest_method("hello world", "world") => ["+", "concat", "<<"] irb(main):003:0> MethodFinder.suggest_method([2, 4, 2], [[2], [2, 2], 2]) ./method_finder.rb:20: warning: do not use Fixnums as Symbols => "*"
Сорцы на гитхабе: github.com/mholub/method_finder/tree/master
Update:
Сие есть велосипед, ибо уже куча народа написала аналоги, например, andy@nobugs.org
www.nobugs.org/developer/ruby/method_finder.html
Улучшенная версия:
redhanded.hobix.com/inspect/stickItInYourIrbrcMethodfinder.html