rurema / doctree

Repository of Japanese Ruby reference manual
https://docs.ruby-lang.org/ja/
242 stars 312 forks source link

Hash#shiftのハッシュが空かつデフォルト値が設定されている場合の説明とサンプルコードの実行結果が古かったのを修正 #2863

Open maimux2x opened 6 months ago

maimux2x commented 6 months ago

Hash#shiftのハッシュが空かつデフォルト値が設定されている場合の説明とサンプルコードの実行結果がruby-3.3.0の内容になっていなかったため修正しました。

$ docker run -it --rm rubylang/all-ruby ./all-ruby -e 'h1 = Hash.new("default value"); p h1; p h1.shift'

...
ruby-1.4.6            {}
                      nil
ruby-1.6.0            {}
                      "default value"
...
ruby-3.1.4            {}
                      "default value"
ruby-3.2.0-preview1   {}
                      nil
...
ruby-3.3.0            {}
                      nil
$ docker run -it --rm rubylang/all-ruby ./all-ruby -e 'h2 = Hash.new {|*arg| arg}; p h2; p h2.shift'

...
ruby-1.6.8            {}
                      nil
ruby-1.8.0            {}
                      [{}, nil]
...
ruby-3.1.4            {}
                      [{}, nil]
ruby-3.2.0-preview1   {}
                      nil
...
ruby-3.3.0            {}
                      nil
maimux2x commented 1 month ago

3.2以前と以降で説明を分けました。 改めてご確認の程よろしくお願いいたします。