るりまサーチ

最速Rubyリファレンスマニュアル検索!
562件ヒット [1-100件を表示] (0.094秒)
トップページ > クエリ:n[x] > クラス:Hash[x]

別のキーワード

  1. etc sc_xopen_enh_i18n
  2. rsa n
  3. rsa n=
  4. openssl n
  5. openssl n=

ライブラリ

キーワード

検索結果

<< 1 2 3 ... > >>

Hash.new(ifnone = nil) -> Hash (6201.0)

空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

...す。ifnone はキーに対
応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

ifnoneを省略した Hash.new は {} と同じです。

デフォルト値として、毎回同一のオブジェクトifnoneを返し...
...影響します。

//emlist[][ruby]{
h = Hash.new([])
h[0] << 0
h[1] << 1
p h.default #=> [0, 1]
//}

これを避けるには、破壊的でないメソッドで再代入する必要が有ります。
また、このようなミスを防ぐためにもifnoneは freeze して破壊的操作を禁...
...止しておくのが無難です。


@param ifnone キーに対応する値が存在しない時のデフォルト値です。

//emlist[例][ruby]{
h = Hash.new([])

p h[1] #=> []
p h[1].object_id #=> 6127150
p h[1] << "bar" #=> ["bar"]
p h[1] #=>...

Hash#clone -> Hash (6101.0)

selfと同じ内容を持つ新しいハッシュを返します。

...selfと同じ内容を持つ新しいハッシュを返します。

clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容と tainted だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参...
...//emlist[例][ruby]{
h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup

h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>"as a"}
p h1 #=> {"have"=>"have a", "as"=>"as a"}

h2["as"].upcase!
p h2 #=> {"have"=>"has", "as"=>"AS A"}
p h1 #=> {"have"=>"have a", "as"=>"AS A"}
//}

@see Object#clone...
...selfと同じ内容を持つ新しいハッシュを返します。

clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照してい...

Hash#compare_by_identity -> self (6101.0)

ハッシュのキーの一致判定をオブジェクトの同一性で判定するように変更します。

...的メソッドです。

@return selfを返します。

//emlist[例][ruby]{
h1 = { "a" => 100, "b" => 200, :c => "c" }
p h1.compare_by_identity? #=> false
p h1["a"] #=> 100

h1.compare_by_identity

p h1.compare_by_identity? #=> true
p h1["a"] #=> nil # この"a"と最初の"a"と...
...は違うオブジェクト
p h1[:c] #=> "c" # 同じ内容のシンボルはすべて同一
//}

@see Hash#compare_by_identity?...

Hash#compare_by_identity? -> bool (6101.0)

ハッシュがキーの一致判定をオブジェクトの同一性を用いて行っているならば真を返します。

...ハッシュがキーの一致判定をオブジェクトの同一性を用いて行っているならば真を返します。

//emlist[例][ruby]{
h1 = {}
p h1.compare_by_identity? #=> false

h1.compare_by_identity

p h1.compare_by_identity? #=> true
//}

@see Hash#compare_by_identity...

Hash#flatten(level = 1) -> Array (6101.0)

自身を平坦化した配列を生成して返します。

...
Array#flatten と違って、デフォルトではこのメソッドは自身を
再帰的に平坦化しません。level を指定すると指定されたレベルまで
再帰的に平坦化します。

@param level 展開するレベル

//emlist[例][ruby]{
a = {1=> "one", 2 => [2,"two"],...
...ten #=> [1, "one", 2, [2, "two"], 3, "three"]
a.flatten(1) #=> [1, "one", 2, [2, "two"], 3, "three"]
a.flatten(2) #=> [1, "one", 2, 2, "two", 3, "three"]
a.flatten(0) #=> [[1, "one"], [2, [2, "two"]], [3, "three"]]
a.flatten(-1) #=> [1, "one", 2, 2, "two", 3, "three"]
//}

@see Array#flatten...

絞り込み条件を変える

Hash#index(val) -> object (6101.0)

値 val に対応するキーを返します。対応する要素が存在しない時には nil を返します。

...val に対応するキーを返します。対応する要素が存在しない時には
n
il を返します。

該当するキーが複数存在する場合、どのキーを返すかは不定です。

Hash
#index は obsolete です。
使用すると警告メッセージが表示されます。...
...@param val 探索に用いる値を指定します。

//emlist[例][ruby]{
h = {:ab => "some" , :cd => "all" , :ef => "all"}

p h.key("some") #=> :ab
p h.key("all") #=> :cd
p h.key("at") #=> nil
//}

@see Hash#invert...

Hash#inspect -> String (6101.0)

ハッシュの内容を人間に読みやすい文字列にして返します。

...ハッシュの内容を人間に読みやすい文字列にして返します。

//emlist[例][ruby]{
h = { "c" => 300, "a" => 100, "d" => 400 }
h.inspect # => "{\"c\"=>300, \"a\"=>100, \"d\"=>400}"
//}...

Hash#invert -> Hash (6101.0)

値からキーへのハッシュを作成して返します。

...h.invert #=> {0=>"a", 100=>"b", 200=>"c", 300=>"e"}
//}

=== 参考
値が重複していたときに備えて、変換後の値を配列として保持するには、次のようにします。

//emlist[][ruby]{
def safe_invert(orig_hash)
orig_hash.each_key.group_by do |key|
orig_hash[key...
...]
end
end
p safe_invert({"a"=>1, "b"=>1, "c"=>3}) # => {1=>["a", "b"], 3=>["c"]}
//}

@see Hash#key...

Hash#length -> Integer (6101.0)

ハッシュの要素の数を返します。

...ハッシュの要素の数を返します。

//emlist[][ruby]{
h = { "d" => 100, "a" => 200, "v" => 300, "e" => 400 }
h.length #=> 4
h.size #=> 4
h.delete("a") #=> 200
h.length #=> 3
h.size #=> 3
//}...
<< 1 2 3 ... > >>