diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-10-13 06:44:42 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-10-13 06:44:42 +0000 |
| commit | 2194e2cf60e9097a22c584ebb25ac23c1fa8048a (patch) | |
| tree | 15b69a971374cd5d1fd5413ba6d9d659f56c27f0 /hash.c | |
| parent | 49afb7c7b164a1ecc1bbc1aa7668e6b2faca68ed (diff) | |
| download | ruby-2194e2cf60e9097a22c584ebb25ac23c1fa8048a.tar.gz ruby-2194e2cf60e9097a22c584ebb25ac23c1fa8048a.tar.xz ruby-2194e2cf60e9097a22c584ebb25ac23c1fa8048a.zip | |
*** empty log message ***
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'hash.c')
| -rw-r--r-- | hash.c | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -264,7 +264,6 @@ rb_hash_s_create(argc, argv, klass) hash = rb_hash_new2(klass); for (i=0; i<argc; i+=2) { - if (NIL_P(argv[i+1])) continue; st_insert(RHASH(hash)->tbl, argv[i], argv[i+1]); } @@ -363,6 +362,9 @@ rb_hash_fetch(argc, argv, hash) } return rb_yield(argv[0]); } + if (argc == 1) { + rb_raise(rb_eIndexError, "key not found"); + } return if_none; } return val; @@ -521,10 +523,6 @@ rb_hash_aset(hash, key, val) VALUE hash, key, val; { rb_hash_modify(hash); - if (NIL_P(val)) { - rb_hash_delete(hash, key); - return Qnil; - } if (TYPE(key) != T_STRING || st_lookup(RHASH(hash)->tbl, key, 0)) { st_insert(RHASH(hash)->tbl, key, val); } |
