diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-31 00:33:40 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-31 00:33:40 +0000 |
commit | 0fef1b746ba6e6560d08d128046c61d2ac2cdf31 (patch) | |
tree | 6e3e3d61620a655b57c448d288c3eb66c3c6bcc5 /golf_prelude.rb | |
parent | 7f6018a42342111573f259fd6eb5e404a4b147cd (diff) | |
download | ruby-0fef1b746ba6e6560d08d128046c61d2ac2cdf31.tar.gz ruby-0fef1b746ba6e6560d08d128046c61d2ac2cdf31.tar.xz ruby-0fef1b746ba6e6560d08d128046c61d2ac2cdf31.zip |
* golf_prelude.rb: find words with underscore.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'golf_prelude.rb')
-rw-r--r-- | golf_prelude.rb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/golf_prelude.rb b/golf_prelude.rb index 9cecd3196..114e7dba5 100644 --- a/golf_prelude.rb +++ b/golf_prelude.rb @@ -3,7 +3,10 @@ SCRIPT_LINES__={} class Object @@golf_hash = {} def method_missing m, *a, &b - t = @@golf_hash[[m,self.class]] ||= (methods + private_methods).sort.find{|e|/^#{m}/=~e} + t = @@golf_hash.fetch(k = [m,self.class]) do + r = /^#{m.to_s.gsub(/(?<=\w)(?=_)/, '\w*?')}/ + @@golf_hash[k] = (methods + private_methods).sort.find{|e|r=~e} + end t ? __send__(t, *a, &b) : super end |