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

ruby-changes:4584

From: ko1@a...
Date: Sat, 19 Apr 2008 18:42:44 +0900 (JST)
Subject: [ruby-changes:4584] knu - Ruby:r16078 (ruby_1_8): * intern.h, hash.c (rb_hash_lookup): New internal function to

knu	2008-04-19 18:42:27 +0900 (Sat, 19 Apr 2008)

  New Revision: 16078

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/hash.c
    branches/ruby_1_8/intern.h

  Log:
    * intern.h, hash.c (rb_hash_lookup): New internal function to
      check if a key exists in a hash, ignoring #default; backported
      from 1.9.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/intern.h?r1=16078&r2=16077&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=16078&r2=16077&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/hash.c?r1=16078&r2=16077&diff_format=u

Index: ruby_1_8/intern.h
===================================================================
--- ruby_1_8/intern.h	(revision 16077)
+++ ruby_1_8/intern.h	(revision 16078)
@@ -270,6 +270,7 @@
 VALUE rb_hash_new _((void));
 VALUE rb_hash_freeze _((VALUE));
 VALUE rb_hash_aref _((VALUE, VALUE));
+VALUE rb_hash_lookup _((VALUE, VALUE));
 VALUE rb_hash_aset _((VALUE, VALUE, VALUE));
 VALUE rb_hash_delete_if _((VALUE));
 VALUE rb_hash_delete _((VALUE,VALUE));
Index: ruby_1_8/hash.c
===================================================================
--- ruby_1_8/hash.c	(revision 16077)
+++ ruby_1_8/hash.c	(revision 16078)
@@ -454,6 +454,18 @@
     return val;
 }
 
+VALUE
+rb_hash_lookup(hash, key)
+    VALUE hash, key;
+{
+    VALUE val;
+
+    if (!st_lookup(RHASH(hash)->tbl, key, &val)) {
+	return Qnil; /* without Hash#default */
+    }
+    return val;
+}
+
 /*
  *  call-seq:
  *     hsh.fetch(key [, default] )       => obj
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 16077)
+++ ruby_1_8/ChangeLog	(revision 16078)
@@ -1,3 +1,9 @@
+Sat Apr 19 18:42:04 2008  Akinori MUSHA  <knu@i...>
+
+	* intern.h, hash.c (rb_hash_lookup): New internal function to
+	  check if a key exists in a hash, ignoring #default; backported
+	  from 1.9.
+
 Fri Apr 18 18:56:57 2008  Akinori MUSHA  <knu@i...>
 
 	* ext/syck/rubyext.c (syck_genericresolver_node_import): should

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

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