Rubyのハッシュ(ハッシュ)2024 年の最新の入門チュートリアル。このコースでは ハッシュを作成します,組み込みメソッドをハッシュ, について学習できます。
ハッシュ(ハッシュ)は、キーと値のペアのようなコレクションの "キー" => "値"に似ています。 ハッシュ配列に類似するが、それは、インデックス番号の使用に限定されるものではありません。
ハッシュインデックス(または「キー」)は、ほぼすべてのオブジェクトにすることができます。
ハッシュ配列が似ていますが、しかし非常に重要な違いがあります:ハッシュ要素は順不同です。 順序が重要な場合は、配列を使用する必要があります。
配列のように、さまざまな異なる方法はハッシュを作成します。 あなたは、新しいクラスのメソッドを介して空のハッシュを作成することができます。
months = Hash.new
デフォルトのハッシュ値がnilでなくても、 新しいハッシュがデフォルト値で作成されて使用することができます。
months = Hash.new( "month" ) 或 months = Hash.new "month"
キーまたは値が存在しない場合は、任意のキーにデフォルト値でハッシュにアクセスすると、デフォルトのアクセスハッシュ値に戻します。
#!/usr/bin/ruby months = Hash.new( "month" ) puts "#{months[0]}" puts "#{months[72]}"
上の例の出力は実行します。
month month
#!/usr/bin/ruby H = Hash["a" => 100, "b" => 200] puts "#{H['a']}" puts "#{H['b']}"
上の例の出力は実行します。
100 200
例が示すように、キーまたは値として任意のRubyのオブジェクトを使用することができ、またはアレイを使用することができます。
[1,"jan"] => "January"
あなたはハッシュメソッドを呼び出す必要がある場合は、ハッシュオブジェクトをインスタンス化する必要があります。 ここで、ハッシュオブジェクトのインスタンスを作成する方法は次のとおりです。
Hash[[key =>|, value]* ] or Hash.new [or] Hash.new(obj) [or] Hash.new { |hash, key| block }
これは、新しいハッシュが充填された指定されたオブジェクトを返します。 さて、作成されたオブジェクトを使用して、我々は利用可能な方法のいずれかを呼び出すことができます。 例えば:
#!/usr/bin/ruby $, = ", " months = Hash.new( "month" ) months = {"1" => "January", "2" => "February"} keys = months.keys puts "#{keys}"
上の例の出力は実行します。
["1", "2"]
次のような共通のハッシュ方式(ハッシュハッシュオブジェクトを仮定して)、次のとおりです。
いいえ。 | メソッドと説明 |
---|---|
1 | ハッシュ== other_hash 2は、キーと値のペアの数は2つのハッシュが等しいかどうかを決定するために、相互に一致しているため、同じハッシュ・キー値を持っているかどうかを確認してください。 |
2 | ハッシュ。[キー] ハッシュからキーの基準値を使用します。 キーが見つからない場合は、デフォルト値に戻ります。 |
3 | ハッシュ。[キー] =値 値が指定されたキーに関連付けられたキーの値を与えられました。 |
4 | hash.clear ハッシュからすべてのキーを削除します。 |
5 | hash.default(キー= nilの) デフォルトで設定されていない場合は=、nilを返し、ハッシュのデフォルト値を返します。 (キーがハッシュに存在しない場合は、[]デフォルト値を返します。) |
6 | hash.default = OBJ ハッシュのデフォルト値を設定します。 |
7 | hash.default_proc ハッシュがブロックで作成した場合、ブロックが返されます。 |
8 | hash.delete(キー)[または] array.delete(キー){|キー|ブロック} 鍵ペアによってハッシュキーから削除します。 ブロックはと一致するキーと値のペアが見つからなかった場合、ブロックの結果が返されます。 delete_ifと比較してみてください。 |
9 | hash.delete_if {|キー、値|ブロック } ブロックの各ブロックは、ハッシュからキーを削除するために、それは本当です。 |
10 | hash.each {|キー、値|ブロック } 各キーブロックに1回呼び出さハッシュを、横断する、2つの要素の配列として、キーと値を渡します。 |
11 | hash.each_key {|キー|ブロック} ハッシュトラバース、パラメータとしてキーを渡して、各キーブロックに1回呼び出さ。 |
12 | hash.each_key {| key_value_array |ブロック} 各キーブロックに1回呼び出さハッシュ、トラバース、引数としてキーと値を渡します 。 |
13 | hash.each_value {|値|ブロック} 各キーブロックに1回呼び出さハッシュ、トラバース、パラメータ値として渡されます。 |
14 | hash.empty? ハッシュが空であるかどうかを確認してください(キーと値のペアが含まれていない)、およびtrueまたはfalseを返します。 |
15 | hash.fetch(キー[デフォルト]) [または] hash.fetch(キー){|キー|ブロック} 与えられたキーを介して、ハッシュからの戻り値。キーが見つからないと、追加のパラメータを提供しなかった場合、IndexError例外をスローし、デフォルトを与えられた場合、デフォルト値を返します。オプションのブロックは、ブロックの結果が返された場合。 |
16 | hash.has_key?(キー)[または] hash.include?(キー)[または] hash.key?(キー)[または] hash.member?(キー) 与えられたキーがハッシュに存在するかどうかをチェックし、trueまたはfalseを返します。 |
17 | hash.has_value?(値) ハッシュが指定した値が含まれているかどうか確認してください。 |
18 | hash.index(値) ハッシュキーの指定した値を返し、一致しなかった場合はnilを返します。 |
19 | hash.indexes(キー) これは、特定のキーコンポーネントの値によって、新しい配列を返します。 デフォルトの値を挿入するキーを見つけることができません。 この方法は、選択を使用してください廃止されました。 |
20 | hash.indices(キー) これは、特定のキーコンポーネントの値によって、新しい配列を返します。 デフォルトの値を挿入するキーを見つけることができません。 この方法は、選択を使用してください廃止されました。 |
21 | hash.inspect バックプリントバージョン文字列のハッシュ。 |
22 | hash.invert キーと値の新しいハッシュ、ハッシュ反転を作成します。 すなわち、新たなハッシュは、ハッシュ値がキーとなり、値がキーとなるであろう。 |
23 | hash.keys ハッシュキーを使用して新しい配列を作成します。 / TD> |
24 | hash.length これは、 整数のハッシュサイズや長さを返します。 |
25 | hash.merge(other_hash)[または] hash.merge(other_hash){|キー、 OLDVAL、たnewval |ブロック} 新しいハッシュを返し、 ハッシュは、コンテンツとother_hash重複するキーペアとother_hashとキーハッシュを書き換えるが含まれています。 |
26 | hash.merge!(other_hash)[または] hash.merge(other_hash)!{|キー 、OLDVAL、たnewval |ブロック} そして、同じマージが、実際にハッシュが変更されました。 |
27 | hash.rehash 各キーの現在の値に基づいてハッシュ値を再確立します。あなたは値が変更された挿入した場合、プロセスはハッシュを再索引付けされます。 |
28 | hash.reject {|キー、値|ブロック } などの新しいハッシュを作成するために、各キーブロックの真のです。 |
29 | hash.reject!{|キー、値|ブロック} そして、同じことを拒否したが、実際にはハッシュが変更されました。 |
30 | hash.replace(other_hash) コンテンツother_hashのハッシュの内容を交換してください。 |
31 | hash.select {|キー、値|ブロック } ブロックがペアで真のハッシュキーの値を返し、新しい配列を返します。 |
32 | hash.shift 鍵のペアでハッシュから削除し、2つの要素の配列として返されるキー値を送信します。 |
33 | hash.size これは、大きさや長さの整数のハッシュを返します。 |
34 | hash.sort ハッシュはキーと値の配列を含む二次元配列に変換した後、ソートされます。 |
35 | hash.store(キー、値) キーと値のペアに格納されたハッシュ。 |
36 | hash.to_a ハッシュからの2次元配列を作成します。 配列への各キーと値のペアは、すべてのこれらの配列は、配列に格納されています。 |
37 | hash.to_hash 戻り値ハッシュ(自己)。 |
38 | hash.to_s ハッシュは、その配列が文字列に変換される配列に変換されます。 |
39 | hash.update(other_hash)[または] hash.update(other_hash){|キー、 OLDVAL、たnewval |ブロック} 新しいハッシュを返し、 ハッシュは、コンテンツとother_hash重複するキーペアとother_hashとキーハッシュを書き換えるが含まれています。 |
40 | hash.value?(値) ハッシュが指定した値が含まれているかどうか確認してください。 |
41 | hash.values これは、ハッシュのすべての値を含む新しい配列を返します。 |
42 | hash.values_at(OBJ、ja.) これは、指定されたキーに関連付けられたハッシュ値を含む新しい配列を返します。 |