Skip to content

Commit

Permalink
Hash.newのcapacityの説明を追加
Browse files Browse the repository at this point in the history
  • Loading branch information
kyanagi committed Dec 5, 2024
1 parent 4943992 commit 6acd0a0
Showing 1 changed file with 23 additions and 0 deletions.
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

0 comments on commit 6acd0a0

Please sign in to comment.