Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hash.newcapacityの説明を追加 #2926

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions refm/api/src/_builtin/Hash
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,12 @@ alist = [[1,["a"]], [2,["b"]], [3,["c"]], [[4,5], ["a", "b"]]]
hash = Hash[alist] # => {1=>["a"], 2=>["b"], 3=>["c"], [4, 5]=>["a", "b"]}
#@end

#@until 3.4
--- new(ifnone = nil) -> Hash
#@end
#@since 3.4
--- new(ifnone = nil, capacity: 0) -> Hash
#@end

空の新しいハッシュを生成します。ifnone はキーに対
応する値が存在しない時のデフォルト値です。設定したデフォルト値は[[m:Hash#default]]で参照できます。
Expand All @@ -152,7 +157,16 @@ p h.default #=> [0, 1]

#@#デフォルト値の扱いには注意が必要です( [[trap:Hash]] )

#@since 3.4
capacity を指定すると、指定した要素数に相当するメモリをあらかじめ確保します。
要素数の多いハッシュを構築する際にメモリの再配置やハッシュテーブルの再構築が不要となるため、
パフォーマンスの改善が期待できます。
#@end

@param ifnone キーに対応する値が存在しない時のデフォルト値です。
#@since 3.4
@param capacity 指定した要素数に相当するメモリをあらかじめ確保します。
#@end

#@samplecode 例
h = Hash.new([])
Expand All @@ -178,14 +192,23 @@ h[1] << 1
#@end
#@end

#@until 3.4
--- new {|hash, key| ... } -> Hash
#@end
#@since 3.4
--- new(capacity: 0) {|hash, key| ... } -> Hash
#@end
空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま
す。設定したデフォルト値は[[m:Hash#default_proc]]で参照できます。

値が設定されていないハッシュ要素を参照するとその都度ブロックを
実行し、その結果を返します。
ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。

#@since 3.4
@param capacity 指定した要素数に相当するメモリをあらかじめ確保します。
#@end

@raise ArgumentError ブロックと通常引数を同時に与えると発生します。

#@samplecode 例
Expand Down
Loading