summaryrefslogtreecommitdiffstats
path: root/golf_prelude.rb
diff options
context:
space:
mode:
authoreban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-30 14:20:37 +0000
committereban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-30 14:20:37 +0000
commita7fd201a94bb8215aac47619094da978dcac8d85 (patch)
tree598ef57050f38e55591f97252f8b37dad1c240f6 /golf_prelude.rb
parent9f10a4ff579c062a1e521d0bc594f4da120e0213 (diff)
downloadruby-a7fd201a94bb8215aac47619094da978dcac8d85.tar.gz
ruby-a7fd201a94bb8215aac47619094da978dcac8d85.tar.xz
ruby-a7fd201a94bb8215aac47619094da978dcac8d85.zip
* golf_prelude.rb (@@golf_hash): for performance improvement.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'golf_prelude.rb')
-rw-r--r--golf_prelude.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/golf_prelude.rb b/golf_prelude.rb
index eea08fef7..c0ae37fb1 100644
--- a/golf_prelude.rb
+++ b/golf_prelude.rb
@@ -1,9 +1,9 @@
SCRIPT_LINES__={}
class Object
+ @@golf_hash = {}
def method_missing m, *a, &b
- r = /^#{m}/
- t = (methods + private_methods).sort.find{|e|r=~e}
+ t = @@golf_hash[[m,self.class]] ||= (methods + private_methods).sort.find{|e|/^#{m}/=~e}
t ? __send__(t, *a, &b) : super
end