[前][次][番号順一覧][スレッド一覧]

ruby-changes:7758

From: akr <ko1@a...>
Date: Wed, 10 Sep 2008 02:00:07 +0900 (JST)
Subject: [ruby-changes:7758] Ruby:r19279 (trunk): * tool/transcode-tblgen.rb (StrSet#hash): cache hash value.

akr	2008-09-10 01:59:53 +0900 (Wed, 10 Sep 2008)

  New Revision: 19279

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19279

  Log:
    * tool/transcode-tblgen.rb (StrSet#hash): cache hash value.
      (ActionMap#hash): ditto.

  Modified files:
    trunk/ChangeLog
    trunk/tool/transcode-tblgen.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 19278)
+++ ChangeLog	(revision 19279)
@@ -1,3 +1,8 @@
+Wed Sep 10 01:57:23 2008  Tanaka Akira  <akr@f...>
+
+	* tool/transcode-tblgen.rb (StrSet#hash): cache hash value.
+	  (ActionMap#hash): ditto.
+
 Wed Sep 10 01:26:01 2008  Tanaka Akira  <akr@f...>
 
 	* include/ruby/encoding.h (econv_after_output): renamed from
Index: tool/transcode-tblgen.rb
===================================================================
--- tool/transcode-tblgen.rb	(revision 19278)
+++ tool/transcode-tblgen.rb	(revision 19279)
@@ -62,7 +62,8 @@
   end
 
   def hash
-    @pat.hash
+    return @hash if defined? @hash
+    @hash = @pat.hash
   end
 
   def eql?(other)
@@ -196,11 +197,12 @@
   end
 
   def hash
+    return @hash if defined? @hash
     hash = 0
     @map.each {|k,v|
       hash ^= k.hash ^ v.hash
     }
-    hash
+    @hash = hash
   end
 
   def eql?(other)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]