diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-06-23 10:56:41 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-06-23 10:56:41 +0900 |
| commit | cb3ee2d0501612f406e2d44b1e6d55b18861b1e1 (patch) | |
| tree | 11fff6b177bd72749075e926bde43a89ce22280e /src | |
| parent | af9637e5458aca4484f684cdfb37509201960709 (diff) | |
| parent | 28de6b0da195e1ebf8f6ce30de462f44fb761b8b (diff) | |
| download | mruby-cb3ee2d0501612f406e2d44b1e6d55b18861b1e1.tar.gz mruby-cb3ee2d0501612f406e2d44b1e6d55b18861b1e1.zip | |
Merge pull request #4526 from shuujii/refine-Hash-rehash-example
Refine `Hash#rehash` example [ci skip]
Diffstat (limited to 'src')
| -rw-r--r-- | src/hash.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/hash.c b/src/hash.c index a9367a426..b4d96251c 100644 --- a/src/hash.c +++ b/src/hash.c @@ -1378,10 +1378,21 @@ mrb_hash_merge(mrb_state *mrb, mrb_value hash1, mrb_value hash2) * values of key objects have changed since they were inserted, this * method will reindex <i>hsh</i>. * - * h = {"AAA" => "b"} - * h.keys[0].chop! - * h.rehash #=> {"AA"=>"b"} - * h["AA"] #=> "b" + * keys = (1..17).map{|n| [n]} + * k = keys[0] + * h = {} + * keys.each{|key| h[key] = key[0]} + * h #=> { [1]=> 1, [2]=> 2, [3]=> 3, [4]=> 4, [5]=> 5, [6]=> 6, [7]=> 7, + * [8]=> 8, [9]=> 9,[10]=>10,[11]=>11,[12]=>12,[13]=>13,[14]=>14, + * [15]=>15,[16]=>16,[17]=>17} + * h[k] #=> 1 + * k[0] = keys.size + 1 + * h #=> {[18]=> 1, [2]=> 2, [3]=> 3, [4]=> 4, [5]=> 5, [6]=> 6, [7]=> 7, + * [8]=> 8, [9]=> 9,[10]=>10,[11]=>11,[12]=>12,[13]=>13,[14]=>14, + * [15]=>15,[16]=>16,[17]=>17} + * h[k] #=> nil + * h.rehash + * h[k] #=> 1 */ static mrb_value mrb_hash_rehash(mrb_state *mrb, mrb_value self) |
