クラス
- Array (12)
- Encoding (1)
-
Encoding
:: Converter (4) -
Enumerator
:: ArithmeticSequence (1) - Float (1)
- Hash (104)
- IO (14)
- KeyError (2)
- MatchData (2)
- Method (1)
- Module (1)
- Numeric (1)
- Object (6)
- Proc (2)
- Range (1)
- Rational (1)
- Regexp (2)
-
RubyVM
:: InstructionSequence (6) - String (20)
- Struct (5)
- Thread (1)
- Time (1)
- UnboundMethod (2)
モジュール
- Enumerable (9)
- GC (6)
-
GC
:: Profiler (1) - Kernel (15)
- Marshal (2)
- ObjectSpace (1)
- Signal (1)
オブジェクト
- ENV (23)
キーワード
- % (1)
- < (1)
- <= (1)
- == (1)
- === (1)
- > (1)
- >= (1)
- ENV (1)
- Enumerable (1)
- Hash (2)
- KeyError (1)
- Lazy (1)
- Numeric (1)
-
SCRIPT
_ LINES _ _ (1) - [] (3)
- []= (1)
- aliases (1)
- assoc (2)
- clear (1)
- clone (1)
- collect (4)
- compact (2)
- compact! (1)
-
compare
_ by _ identity (1) -
compare
_ by _ identity? (1) - compile (1)
-
compile
_ file (1) -
compile
_ option (1) -
compile
_ option= (1) -
count
_ objects (1) -
deconstruct
_ keys (1) - default (2)
- default= (1)
-
default
_ proc (1) -
default
_ proc= (1) - delete (2)
-
delete
_ if (2) - difference (1)
- dig (3)
- dump (2)
- dup (1)
- each (2)
-
each
_ key (2) -
each
_ pair (2) -
each
_ value (2) - empty? (1)
- encode (3)
- eql? (4)
- equal? (1)
- exec (4)
- fetch (3)
-
fetch
_ values (2) - filter (4)
- filter! (4)
- flatten (1)
- format (1)
-
group
_ by (2) - gsub (4)
- gsub! (4)
-
handle
_ interrupt (1) -
has
_ key? (1) -
has
_ value? (1) - include? (1)
- inspect (2)
- intersection (1)
- invert (2)
-
is
_ a? (1) -
keep
_ if (4) - key (2)
- key? (1)
- keys (1)
-
kind
_ of? (1) -
latest
_ gc _ info (2) - length (1)
- list (1)
- map (4)
- member? (1)
- merge (2)
- merge! (2)
-
named
_ captures (2) - new (3)
- owner (1)
- popen (14)
-
primitive
_ convert (4) - rassoc (2)
-
raw
_ data (1) - receiver (1)
- rehash (2)
- reject (4)
- reject! (2)
- replace (2)
-
ruby2
_ keywords (2) -
ruby2
_ keywords _ hash? (1) - select (4)
- select! (4)
- shift (1)
- size (1)
- slice (2)
- spawn (4)
- sprintf (1)
- stat (2)
- store (1)
- sub (3)
- sub! (3)
- system (4)
- tally (1)
-
to
_ a (2) -
to
_ h (10) -
to
_ hash (3) -
to
_ proc (1) -
to
_ s (2) -
transform
_ keys (2) -
transform
_ keys! (2) -
transform
_ values (2) -
transform
_ values! (2) -
try
_ convert (1) - union (1)
- update (2)
- value? (1)
- values (1)
-
values
_ at (1) -
verify
_ compaction _ references (1) - | (1)
検索結果
先頭5件
-
Hash
# hash -> Integer (105346.0) -
自身が保持するキーと値のハッシュ値を元にして算出した整数を返します。 自身が保持するキーや値が変化すればこのメソッドが返す値も変化します。
自身が保持するキーと値のハッシュ値を元にして算出した整数を返します。
自身が保持するキーや値が変化すればこのメソッドが返す値も変化します。
//emlist[例][ruby]{
a = {}
p a.hash #=> 0
a[1] = :x
p a.hash #=> 329543
//} -
Object
# hash -> Integer (78592.0) -
オブジェクトのハッシュ値を返します。このハッシュ値は、Object#eql? と合わせて Hash クラスで、2つのオブジェクトを同一のキーとするか判定するために用いられます。
オブジェクトのハッシュ値を返します。このハッシュ値は、Object#eql? と合わせて Hash クラスで、2つのオブジェクトを同一のキーとするか判定するために用いられます。
2つのオブジェクトのハッシュ値が異なるとき、直ちに異なるキーとして判定されます。
逆に、2つのハッシュ値が同じとき、さらに Object#eql? での比較により判定されます。
そのため、同じキーとして判定される状況は Object#eql? の比較で真となる場合のみであり、このとき前段階としてハッシュ値どうしが等しい必要があります。
つまり、
A.eql?(B) ならば A.hash == B.hash
... -
Array
# hash -> Integer (78382.0) -
自身のハッシュ値を整数で返します。ハッシュ値は自身の各要素のハッシュ値から 計算されます。Array#eql? で比較して等しい配列同士は同じハッシュ値を返します。
自身のハッシュ値を整数で返します。ハッシュ値は自身の各要素のハッシュ値から
計算されます。Array#eql? で比較して等しい配列同士は同じハッシュ値を返します。
//emlist[例][ruby]{
a = ["a", "b", 1]
a.hash #=> 321
b = a.dup
b.hash #=> 321
["a", 1, "b"].hash #=> 491
["a", 1.0, "b"].hash #=> 466227
//} -
String
# hash -> Integer (78382.0) -
self のハッシュ値を返します。 eql? で等しい文字列は、常にハッシュ値も等しくなります。
self のハッシュ値を返します。
eql? で等しい文字列は、常にハッシュ値も等しくなります。
//emlist[例][ruby]{
"test".hash # => 4038258770210371295
("te" + "st").hash == "test".hash # => true
//}
@see Hash -
Float
# hash -> Integer (78364.0) -
ハッシュ値を返します。
ハッシュ値を返します。
//emlist[例][ruby]{
pi1 = 3.14
pi2 = 3.14
pi3 = 3.1415
pi1.hash # => 335364239
pi2.hash # => 335364239
pi3.hash # => 420540030
//} -
Method
# hash -> Integer (78346.0) -
自身のハッシュ値を返します。
自身のハッシュ値を返します。
//emlist[例][ruby]{
a = method(:==)
b = method(:eql?)
p a.eql? b # => true
p a.hash == b.hash # => true
p [a, b].uniq.size # => 1
//} -
Range
# hash -> Integer (78346.0) -
始端と終端のハッシュ値と Range#exclude_end? の値からハッシュ値を計算して整数として返します。
始端と終端のハッシュ値と Range#exclude_end? の値からハッシュ値を計算して整数として返します。
//emlist[例][ruby]{
p (1..2).hash # => 5646
p (1...2).hash # => 16782863
//} -
Regexp
# hash -> Integer (78346.0) -
正規表現のオプションやテキストに基づいたハッシュ値を返します。
正規表現のオプションやテキストに基づいたハッシュ値を返します。
//emlist[例][ruby]{
p /abc/i.hash # => 4893115
p /abc/.hash # => 4856055
//} -
Struct
# hash -> Integer (78346.0) -
self が保持するメンバのハッシュ値を元にして算出した整数を返します。 self が保持するメンバの値が変化すればこのメソッドが返す値も変化します。
self が保持するメンバのハッシュ値を元にして算出した整数を返します。
self が保持するメンバの値が変化すればこのメソッドが返す値も変化します。
//emlist[例][ruby]{
Dog = Struct.new(:name, :age)
dog = Dog.new("fred", 5)
p dog.hash #=> 7917421
dog.name = "john"
p dog.hash #=> -38913223
//}
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して... -
UnboundMethod
# hash -> Integer (78346.0) -
自身のハッシュ値を返します。
自身のハッシュ値を返します。
//emlist[例][ruby]{
a = method(:==).unbind
b = method(:eql?).unbind
p a.eql? b # => true
p a.hash == b.hash # => true
p [a, b].uniq.size # => 1
//} -
Rational
# hash -> Integer (78328.0) -
自身のハッシュ値を返します。
自身のハッシュ値を返します。
@return ハッシュ値を返します。
@see Object#hash -
Time
# hash -> Integer (78328.0) -
self のハッシュ値を返します。
self のハッシュ値を返します。
@return ハッシュ値を返します。
@see Object#hash -
Enumerator
:: ArithmeticSequence # hash -> Integer (78310.0) -
自身のハッシュ値を返します。
自身のハッシュ値を返します。
begin, end, step, exclude_end? が等しい Enumerable::ArithmeticSequence は
同じハッシュ値を返します。 -
MatchData
# hash -> Integer (78310.0) -
self のマッチ対象になった文字列、元になった正規表現オブジェクト、マッチ した位置を元にハッシュ値を計算して返します。
self のマッチ対象になった文字列、元になった正規表現オブジェクト、マッチ
した位置を元にハッシュ値を計算して返します。 -
Proc
# hash -> Integer (78310.0) -
self のハッシュ値を返します。
self のハッシュ値を返します。 -
Hash
. ruby2 _ keywords _ hash?(hash) -> bool (69649.0) -
Module#ruby2_keywordsやProc#ruby2_keywordsによる ruby2_keywords フラグが設定されているかどうかを返します。
Module#ruby2_keywordsやProc#ruby2_keywordsによる
ruby2_keywords フラグが設定されているかどうかを返します。
このメソッドはデバッグや調査、シリアライゼーションのために本当に必要な場合のために
用意されていて、普通のプログラムで使うことは想定されていません。
ruby 2.7.1 で追加されたため、ruby 2.7.0 では定義されていません。
//emlist[][ruby]{
ruby2_keywords def foo(*args)
Hash.ruby2_keywords_hash?(args.last)
end
foo(... -
Hash
# to _ hash -> self (69454.0) -
self を返します。
self を返します。
//emlist[例][ruby]{
hash = {}
p hash.to_hash # => {}
p hash.to_hash == hash # => true
//}
@see Object#to_hash, Hash#to_h -
Hash
# rehash -> self (69343.0) -
キーのハッシュ値を再計算します。
キーのハッシュ値を再計算します。
キーになっているオブジェクトの内容が変化した時など、
ハッシュ値が変わってしまった場合はこのメソッドを使ってハッシュ値を再計算しない
限り、そのキーに対応する値を取り出すことができなくなります。
@raise RuntimeError Hash#eachなどのイテレータの評価途中でrehashすると発生します。
@return selfを返します。
//emlist[例][ruby]{
a = [ "a", "b" ]
h = { a => 100 }
p h[a] #=> 100
a[0] = "z"
p h[a] #=>... -
Hash
. new {|hash , key| . . . } -> Hash (51877.0) -
空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。
空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま
す。設定したデフォルト値はHash#default_procで参照できます。
値が設定されていないハッシュ要素を参照するとその都度ブロックを
実行し、その結果を返します。
ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。
@raise ArgumentError ブロックと通常引数を同時に与えると発生します。
//emlist[例][ruby]{
# ブロックではないデフォルト値は全部同一のオブジェクトなので、
# 破壊的変更によって他のキーに対応する値も変更されます。
h = Hash.new... -
Hash
# to _ h -> self | Hash (51625.0) -
self を返します。Hash クラスのサブクラスから呼び出した場合は self を Hash オブジェクトに変換します。
self を返します。Hash クラスのサブクラスから呼び出した場合は
self を Hash オブジェクトに変換します。
//emlist[例][ruby]{
hash = {}
p hash.to_h # => {}
p hash.to_h == hash # => true
class MyHash < Hash;end
my_hash = MyHash.new
p my_hash.to_h # => {}
p my_hash.class # => MyHash
p my_hash.to_h.class # => Hash
//}
ブロックを... -
Hash
# to _ h {|key , value| block } -> Hash (51625.0) -
self を返します。Hash クラスのサブクラスから呼び出した場合は self を Hash オブジェクトに変換します。
self を返します。Hash クラスのサブクラスから呼び出した場合は
self を Hash オブジェクトに変換します。
//emlist[例][ruby]{
hash = {}
p hash.to_h # => {}
p hash.to_h == hash # => true
class MyHash < Hash;end
my_hash = MyHash.new
p my_hash.to_h # => {}
p my_hash.class # => MyHash
p my_hash.to_h.class # => Hash
//}
ブロックを... -
Hash
. new(ifnone = nil) -> Hash (51472.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]
//}
これを避けるには、破壊的でないメソッドで再代入する... -
Hash
# compact -> Hash (51466.0) -
compact は自身から value が nil のもの取り除いた Hash を生成して返します。 compact! は自身から破壊的に value が nil のものを取り除き、変更が行われた場合は self を、そうでなければ nil を返します。
compact は自身から value が nil のもの取り除いた Hash を生成して返します。 compact! は自身から破壊的に value が nil のものを取り除き、変更が行われた場合は self を、そうでなければ nil を返します。
//emlist[例][ruby]{
hash = {a: 1, b: nil, c: 3}
p hash.compact #=> {:a=>1, :c=>3}
p hash #=> {:a=>1, :b=>nil, :c=>3}
hash.compact!
hash #=> {:a=>1, :... -
Hash
. [](*key _ and _ value) -> Hash (51448.0) -
新しいハッシュを生成します。 引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。
新しいハッシュを生成します。
引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。
このメソッドでは生成するハッシュにデフォルト値を指定することはできません。
Hash.newを使うか、Hash#default=で後から指定してください。
@param key_and_value 生成するハッシュのキーと値の組です。必ず偶数個(0を含む)指定しなければいけません。
@raise ArgumentError 奇数個の引数を与えたときに発生します。
以下は配列からハッシュを生成する方法の例です。
(1) [キー, 値, ...] の配列からハッシュへ
//... -
Hash
# merge(*others) -> Hash (51403.0) -
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。 デフォルト値はselfの設定のままです。
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@... -
Hash
# merge(*others) {|key , self _ val , other _ val| . . . } -> Hash (51403.0) -
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。 デフォルト値はselfの設定のままです。
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@... -
Hash
. try _ convert(obj) -> Hash | nil (51394.0) -
to_hash メソッドを用いて obj をハッシュに変換しようとします。
to_hash メソッドを用いて obj をハッシュに変換しようとします。
何らかの理由で変換できないときには nil を返します。
このメソッドは引数がハッシュであるかどうかを調べるために使えます。
//emlist[][ruby]{
Hash.try_convert({1=>2}) # => {1=>2}
Hash.try_convert("1=>2") # => nil
//} -
Hash
. [](other) -> Hash (51388.0) -
新しいハッシュを生成します。 引数otherと同一のキーと値を持つ新たなハッシュを生成して返します。
新しいハッシュを生成します。
引数otherと同一のキーと値を持つ新たなハッシュを生成して返します。
引数otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
デフォルト値はコピーしません。生成されたハッシュのデフォルト値は nil です。
引数otherと生成したハッシュは同じオブジェクトを参照することになるので、
一方でキーや値に破壊的操作を行うともう片方にも影響します。
@param other 生成元となるハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
//emlist[][ruby]{
h =... -
Hash
# invert -> Hash (51382.0) -
値からキーへのハッシュを作成して返します。
値からキーへのハッシュを作成して返します。
異なるキーに対して等しい値が登録されている場合、最後に定義されている値が使用されます。
//emlist[例][ruby]{
h = { "a" => 0, "b" => 100, "c" => 200, "d" => 300, "e" => 300 }
p h.invert #=> {0=>"a", 100=>"b", 200=>"c", 300=>"e"}
//}
=== 参考
値が重複していたときに備えて、変換後の値を配列として保持するには、次のようにします。
//emlist[][ruby]{
def safe_invert(o... -
Hash
# reject {|key , value| . . . } -> Hash (51382.0) -
self を複製して、ブロックを評価した値が真になる要 素を削除したハッシュを返します。
self を複製して、ブロックを評価した値が真になる要
素を削除したハッシュを返します。
ハッシュを返すことを除けば
Enumerable#reject とほぼ同じです。
selfを破壊的に変更したい場合はかわりにHash#delete_ifかHash#reject!を使います。
//emlist[例][ruby]{
h = { 2 =>"8" ,4 =>"6" ,6 =>"4" ,8 =>"2" }
p h.reject{|key, value| key.to_i < value.to_i} #=> {6=>"4", 8=>"2"}
//}
@see Hash#delete_if,... -
Hash
# transform _ keys {|key| . . . } -> Hash (51364.0) -
すべてのキーに対してブロックを呼び出した結果で置き換えたハッシュを返します。 値は変化しません。
すべてのキーに対してブロックを呼び出した結果で置き換えたハッシュを返します。
値は変化しません。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_keys {|k| k.to_s } # => {"a"=>1, "b"=>2, "c"=>3}
h.transform_keys(&:to_s) # => {"a"=>1, "b"=>2, "c"=>3}
h.transform_keys.with_index {|k, i| "#{k}.#{i}" }
... -
Hash
# transform _ values {|value| . . . } -> Hash (51364.0) -
すべての値に対してブロックを呼び出した結果で置き換えたハッシュを返します。 キーは変化しません。
すべての値に対してブロックを呼び出した結果で置き換えたハッシュを返します。
キーは変化しません。
@return 置き換えたハッシュを返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_values {|v| v * v + 1 } #=> { a: 2, b: 5, c: 10 }
h.transform_values(&:to_s) #=> { a: "1", b: "2", ... -
Hash
# slice(*keys) -> Hash (51358.0) -
引数で指定されたキーとその値だけを含む Hash を返します。
引数で指定されたキーとその値だけを含む Hash を返します。
//emlist[例][ruby]{
h = { a: 100, b: 200, c: 300 }
h.slice(:a) # => {:a=>100}
h.slice(:c, :b) # => {:c=>300, :b=>200}
h.slice(:b, :c, :d) # => {:b=>200, :c=>300}
//}
@see ENV.slice -
Hash
# filter {|key , value| . . . } -> Hash (51349.0) -
key, value のペアについてブロックを評価し,真となるペアだけを含む ハッシュを生成して返します。
key, value のペアについてブロックを評価し,真となるペアだけを含む
ハッシュを生成して返します。
ブロックが与えられなかった場合は、自身と select から生成した
Enumerator オブジェクトを返します。
//emlist[][ruby]{
h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> {"b" => 200, "c" => 300}
h.select {|k,v| v < 200} #=> {"a" => 100}
//}
@see Hash#select!, ... -
Hash
# select {|key , value| . . . } -> Hash (51349.0) -
key, value のペアについてブロックを評価し,真となるペアだけを含む ハッシュを生成して返します。
key, value のペアについてブロックを評価し,真となるペアだけを含む
ハッシュを生成して返します。
ブロックが与えられなかった場合は、自身と select から生成した
Enumerator オブジェクトを返します。
//emlist[][ruby]{
h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> {"b" => 200, "c" => 300}
h.select {|k,v| v < 200} #=> {"a" => 100}
//}
@see Hash#select!, ... -
Hash
# clone -> Hash (51313.0) -
selfと同じ内容を持つ新しいハッシュを返します。
selfと同じ内容を持つ新しいハッシュを返します。
clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。
//emlist[例][ruby]{
h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup
h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>"as a"}
p ... -
Hash
# dup -> Hash (51313.0) -
selfと同じ内容を持つ新しいハッシュを返します。
selfと同じ内容を持つ新しいハッシュを返します。
clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。
//emlist[例][ruby]{
h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup
h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>"as a"}
p ... -
Hash
# [](key) -> object | nil (51187.0) -
key に関連づけられた値を返します。
key に関連づけられた値を返します。
該当するキーが登録されていない時には、デフォルト値を返します。
デフォルト値と値としての nil を区別する必要が
ある場合は Hash#fetch または Hash#key? を使ってください。
@param key 探索するキーを指定します。
//emlist[例][ruby]{
h = {:ab => "some" , :cd => "all"}
p h[:ab] #=> "some"
p h[:ef] #=> nil
h1 = Hash.new("default value")
p h1[... -
Hash
# compact! -> self | nil (51166.0) -
compact は自身から value が nil のもの取り除いた Hash を生成して返します。 compact! は自身から破壊的に value が nil のものを取り除き、変更が行われた場合は self を、そうでなければ nil を返します。
compact は自身から value が nil のもの取り除いた Hash を生成して返します。 compact! は自身から破壊的に value が nil のものを取り除き、変更が行われた場合は self を、そうでなければ nil を返します。
//emlist[例][ruby]{
hash = {a: 1, b: nil, c: 3}
p hash.compact #=> {:a=>1, :c=>3}
p hash #=> {:a=>1, :b=>nil, :c=>3}
hash.compact!
hash #=> {:a=>1, :... -
Hash
# default -> object | nil (51151.0) -
ハッシュのデフォルト値を返します。
ハッシュのデフォルト値を返します。
ハッシュのデフォルト値がブロックで与えられている場合、 1 番目の形式だと
返り値が nil になることに注意してください。この場合、ハッシュのデフォルト値に
ついて調べるには 2 番目の形式か Hash#default_proc を使ってください。
2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、
self と引数 key をブロックに渡して評価し、その結果を返します。
@param key デフォルトのブロックにキーとして渡されます。
//emlist[例][ruby]{
h = Hash.new("default")
p h.... -
Hash
# default(key) -> object | nil (51151.0) -
ハッシュのデフォルト値を返します。
ハッシュのデフォルト値を返します。
ハッシュのデフォルト値がブロックで与えられている場合、 1 番目の形式だと
返り値が nil になることに注意してください。この場合、ハッシュのデフォルト値に
ついて調べるには 2 番目の形式か Hash#default_proc を使ってください。
2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、
self と引数 key をブロックに渡して評価し、その結果を返します。
@param key デフォルトのブロックにキーとして渡されます。
//emlist[例][ruby]{
h = Hash.new("default")
p h.... -
Hash
# replace(other) -> self (51151.0) -
ハッシュの内容を other の内容で置き換えます。
ハッシュの内容を other の内容で置き換えます。
デフォルト値の設定もotherの内容になります。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
self = other.to_hash.dup と同じです。
@param other ハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return self を返します。
//emlist[例][ruby]{
foo = {1 => 'a', 2 => 'b'}
bar = {2 => 'B', 3 => 'C'}
foo.replace(b... -
Hash
# default _ proc=(pr) (51133.0) -
ハッシュのデフォルト値を返す Proc オブジェクトを 変更します。
ハッシュのデフォルト値を返す Proc オブジェクトを
変更します。
以前のデフォルトは値(Hash#default)の場合も
Proc の場合(Hash#default_proc)でも上書きされます。
引数には to_proc で Proc オブジェクトに変換できる
オブジェクトも受け付けます。
nil を指定した場合は現在の Hash#default_proc をクリアします。
@param pr デフォルト値を返す手続きオブジェクト
//emlist[例][ruby]{
h = {}
h.default_proc = proc do |hash, key|
hash[ke... -
Hash
# default _ proc -> Proc | nil (51097.0) -
ハッシュのデフォルト値を返す Proc オブジェクトを返します。 ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。
ハッシュのデフォルト値を返す Proc オブジェクトを返します。
ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。
//emlist[例][ruby]{
h = Hash.new {|hash, key| "The #{key} not exist in #{hash.inspect}"}
p h.default #=> nil
p block = h.default_proc #=> #<Proc:0x0x401a9ff4>
p block.call({},:foo) #=> "The foo not exist in {}"
h... -
Hash
# reject -> Enumerator (51082.0) -
self を複製して、ブロックを評価した値が真になる要 素を削除したハッシュを返します。
self を複製して、ブロックを評価した値が真になる要
素を削除したハッシュを返します。
ハッシュを返すことを除けば
Enumerable#reject とほぼ同じです。
selfを破壊的に変更したい場合はかわりにHash#delete_ifかHash#reject!を使います。
//emlist[例][ruby]{
h = { 2 =>"8" ,4 =>"6" ,6 =>"4" ,8 =>"2" }
p h.reject{|key, value| key.to_i < value.to_i} #=> {6=>"4", 8=>"2"}
//}
@see Hash#delete_if,... -
Hash
# <(other) -> bool (51079.0) -
self が other のサブセットである場合に真を返します。
self が other のサブセットである場合に真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
//emlist[例][ruby]{
h1 = {a:1, b:2}
h2 = {a:1, b:2, c:3}
h1 < h2 # => true
h2 < h1 # => false
h1 < h1 # => false
//}
@see Hash#<=, Hash#>=, Hash#> -
Hash
# <=(other) -> bool (51079.0) -
self が other のサブセットか同じである場合に真を返します。
self が other のサブセットか同じである場合に真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
//emlist[例][ruby]{
h1 = {a:1, b:2}
h2 = {a:1, b:2, c:3}
h1 <= h2 # => true
h2 <= h1 # => false
h1 <= h1 # => true
//}
@see Hash#<, Hash#>=, Hash#> -
Hash
# >(other) -> bool (51079.0) -
other が self のサブセットである場合に真を返します。
other が self のサブセットである場合に真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
//emlist[例][ruby]{
h1 = {a:1, b:2}
h2 = {a:1, b:2, c:3}
h1 > h2 # => false
h2 > h1 # => true
h1 > h1 # => false
//}
@see Hash#<=, Hash#<, Hash#>= -
Hash
# >=(other) -> bool (51079.0) -
other が self のサブセットか同じである場合に真を返します。
other が self のサブセットか同じである場合に真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
//emlist[例][ruby]{
h1 = {a:1, b:2}
h2 = {a:1, b:2, c:3}
h1 >= h2 # => false
h2 >= h1 # => true
h1 >= h1 # => true
//}
@see Hash#<=, Hash#<, Hash#> -
Hash
# delete _ if -> Enumerator (51079.0) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
キーと値を引数としてブロックを評価した結果が真であ
るような要素を self から削除します。
delete_if は常に self を返します。
reject! は、要素を削除しなかった場合には nil を返し、
そうでなければ self を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
h = { 2 => "8" ,4 => "6" ,6 => "4" ,8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 =... -
Hash
# delete _ if {|key , value| . . . } -> self (51079.0) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
キーと値を引数としてブロックを評価した結果が真であ
るような要素を self から削除します。
delete_if は常に self を返します。
reject! は、要素を削除しなかった場合には nil を返し、
そうでなければ self を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
h = { 2 => "8" ,4 => "6" ,6 => "4" ,8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 =... -
Hash
# merge!(*others) -> self (51079.0) -
selfとothersのハッシュの内容を順番にマージ(統合)します。
selfとothersのハッシュの内容を順番にマージ(統合)します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@retur... -
Hash
# merge!(*others) {|key , self _ val , other _ val| . . . } -> self (51079.0) -
selfとothersのハッシュの内容を順番にマージ(統合)します。
selfとothersのハッシュの内容を順番にマージ(統合)します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@retur... -
Hash
# reject! -> Enumerator (51079.0) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
キーと値を引数としてブロックを評価した結果が真であ
るような要素を self から削除します。
delete_if は常に self を返します。
reject! は、要素を削除しなかった場合には nil を返し、
そうでなければ self を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
h = { 2 => "8" ,4 => "6" ,6 => "4" ,8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 =... -
Hash
# reject! {|key , value| . . . } -> self|nil (51079.0) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
キーと値を引数としてブロックを評価した結果が真であ
るような要素を self から削除します。
delete_if は常に self を返します。
reject! は、要素を削除しなかった場合には nil を返し、
そうでなければ self を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
h = { 2 => "8" ,4 => "6" ,6 => "4" ,8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 =... -
Hash
# shift -> [object , object] | nil (51079.0) -
ハッシュからキーが追加された順で先頭の要素をひとつ取り除き、 [key, value]という配列として返します。
ハッシュからキーが追加された順で先頭の要素をひとつ取り除き、
[key, value]という配列として返します。
shiftは破壊的メソッドです。selfは要素を取り除かれた残りのハッシュに変更されます。
Ruby 3.2以前は、ハッシュが空の場合、デフォルト値(Hash#defaultまたはHash#default_procのブロックの値か、どちらもnilならばnil)
を返します(このとき、[key,value] という形式の値を返すわけではないことに注意)。
3.2以降ではデフォルト値に関わらず nil を返すよう変更されています。
//emlist[例][ruby]{
h =... -
Hash
# update(*others) -> self (51079.0) -
selfとothersのハッシュの内容を順番にマージ(統合)します。
selfとothersのハッシュの内容を順番にマージ(統合)します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@retur... -
Hash
# update(*others) {|key , self _ val , other _ val| . . . } -> self (51079.0) -
selfとothersのハッシュの内容を順番にマージ(統合)します。
selfとothersのハッシュの内容を順番にマージ(統合)します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に others の値を使います。
othersがハッシュではない場合、othersのメソッドto_hashを使って暗黙の変換を試みます。
@param others マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@retur... -
Hash
# values _ at(*keys) -> [object] (51079.0) -
引数で指定されたキーに対応する値の配列を返します。
引数で指定されたキーに対応する値の配列を返します。
キーに対応する要素がなければデフォルト値が使用されます。
@param keys キーを 0 個以上指定します。
@return 引数で指定されたキーに対応する値の配列を返します。
引数が指定されなかった場合は、空の配列を返します。
//emlist[例][ruby]{
h = {1=>"a", 2=>"b", 3=>"c"}
p h.values_at(1,3,4) #=> ["a", "c", nil]
# [h[1], h[3] ,h[4]] と同じ
//}
@see Hash#... -
Hash
# transform _ keys -> Enumerator (51064.0) -
すべてのキーに対してブロックを呼び出した結果で置き換えたハッシュを返します。 値は変化しません。
すべてのキーに対してブロックを呼び出した結果で置き換えたハッシュを返します。
値は変化しません。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_keys {|k| k.to_s } # => {"a"=>1, "b"=>2, "c"=>3}
h.transform_keys(&:to_s) # => {"a"=>1, "b"=>2, "c"=>3}
h.transform_keys.with_index {|k, i| "#{k}.#{i}" }
... -
Hash
# transform _ values -> Enumerator (51064.0) -
すべての値に対してブロックを呼び出した結果で置き換えたハッシュを返します。 キーは変化しません。
すべての値に対してブロックを呼び出した結果で置き換えたハッシュを返します。
キーは変化しません。
@return 置き換えたハッシュを返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_values {|v| v * v + 1 } #=> { a: 2, b: 5, c: 10 }
h.transform_values(&:to_s) #=> { a: "1", b: "2", ... -
Hash
# filter! -> Enumerator (51061.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
filter! と select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select!... -
Hash
# filter! {|key , value| . . . } -> self | nil (51061.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
filter! と select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select!... -
Hash
# keep _ if -> Enumerator (51061.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
filter! と select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select!... -
Hash
# keep _ if {|key , value| . . . } -> self (51061.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
filter! と select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select!... -
Hash
# select! -> Enumerator (51061.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
filter! と select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select!... -
Hash
# select! {|key , value| . . . } -> self | nil (51061.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
filter! と select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select!... -
Hash
# transform _ keys! -> Enumerator (51061.0) -
すべてのキーに対してブロックを呼び出した結果でハッシュのキーを変更します。 値は変化しません。
すべてのキーに対してブロックを呼び出した結果でハッシュのキーを変更します。
値は変化しません。
@return transform_keys! は常に self を返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_keys! {|k| k.to_s } # => {"a"=>1, "b"=>2, "c"=>3}
h.transform_keys!(&:to_sym) # => {:a... -
Hash
# transform _ keys! {|key| . . . } -> self (51061.0) -
すべてのキーに対してブロックを呼び出した結果でハッシュのキーを変更します。 値は変化しません。
すべてのキーに対してブロックを呼び出した結果でハッシュのキーを変更します。
値は変化しません。
@return transform_keys! は常に self を返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_keys! {|k| k.to_s } # => {"a"=>1, "b"=>2, "c"=>3}
h.transform_keys!(&:to_sym) # => {:a... -
Hash
# transform _ values! -> Enumerator (51061.0) -
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。 キーは変化しません。
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。
キーは変化しません。
@return transform_values! は常に self を返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_values! {|v| v * v + 1 } #=> { a: 2, b: 5, c: 10 }
h.transform_values!(&:to_s) #=> ... -
Hash
# transform _ values! {|value| . . . } -> self (51061.0) -
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。 キーは変化しません。
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。
キーは変化しません。
@return transform_values! は常に self を返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_values! {|v| v * v + 1 } #=> { a: 2, b: 5, c: 10 }
h.transform_values!(&:to_s) #=> ... -
Hash
# filter -> Enumerator (51049.0) -
key, value のペアについてブロックを評価し,真となるペアだけを含む ハッシュを生成して返します。
key, value のペアについてブロックを評価し,真となるペアだけを含む
ハッシュを生成して返します。
ブロックが与えられなかった場合は、自身と select から生成した
Enumerator オブジェクトを返します。
//emlist[][ruby]{
h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> {"b" => 200, "c" => 300}
h.select {|k,v| v < 200} #=> {"a" => 100}
//}
@see Hash#select!, ... -
Hash
# select -> Enumerator (51049.0) -
key, value のペアについてブロックを評価し,真となるペアだけを含む ハッシュを生成して返します。
key, value のペアについてブロックを評価し,真となるペアだけを含む
ハッシュを生成して返します。
ブロックが与えられなかった場合は、自身と select から生成した
Enumerator オブジェクトを返します。
//emlist[][ruby]{
h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> {"b" => 200, "c" => 300}
h.select {|k,v| v < 200} #=> {"a" => 100}
//}
@see Hash#select!, ... -
Hash
# ==(other) -> bool (51043.0) -
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、 値が == メソッドで比較して全て等しい場合に真を返します。
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、
値が == メソッドで比較して全て等しい場合に真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
//emlist[例][ruby]{
#(出力関数は省略)
{ 1 => :a } == { 1 => :a } #=> true
{ 1 => :a } == { 1 => :a, 2 => :b } #=> false
{ 1 => :a } == { 1.0 => :a } #=> fa... -
Hash
# ===(other) -> bool (51043.0) -
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、 値が == メソッドで比較して全て等しい場合に真を返します。
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、
値が == メソッドで比較して全て等しい場合に真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
//emlist[例][ruby]{
#(出力関数は省略)
{ 1 => :a } == { 1 => :a } #=> true
{ 1 => :a } == { 1 => :a, 2 => :b } #=> false
{ 1 => :a } == { 1.0 => :a } #=> fa... -
Hash
# each -> Enumerator (51043.0) -
ハッシュのキーと値を引数としてブロックを評価します。
ハッシュのキーと値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合 self を、
無しで呼ばれた場合 Enumerator を返します。
each_pair は each のエイリアスです。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each {|a| p a}
#=> [:a, 1]
# [:b, 2]
{:a=>1, :b=>2}.each {|k, v| p [k, v]}
#=> [:a, 1]
# [:b, 2]
p({:a=>1, :b=>2}.each_pair) # => #<... -
Hash
# each {|key , value| . . . } -> self (51043.0) -
ハッシュのキーと値を引数としてブロックを評価します。
ハッシュのキーと値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合 self を、
無しで呼ばれた場合 Enumerator を返します。
each_pair は each のエイリアスです。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each {|a| p a}
#=> [:a, 1]
# [:b, 2]
{:a=>1, :b=>2}.each {|k, v| p [k, v]}
#=> [:a, 1]
# [:b, 2]
p({:a=>1, :b=>2}.each_pair) # => #<... -
Hash
# each _ key -> Enumerator (51043.0) -
ハッシュのキーを引数としてブロックを評価します。
ハッシュのキーを引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合Enumeratorを返します。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each_key {|k| p k}
#=> :a
# :b
p({:a=>1, :b=>2}.each_key) # => #<Enumerator: {:a=>1, :b=>2}:each_key>
//}
@see Hash#each_pair,Hash#each_value -
Hash
# each _ key {|key| . . . } -> self (51043.0) -
ハッシュのキーを引数としてブロックを評価します。
ハッシュのキーを引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合Enumeratorを返します。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each_key {|k| p k}
#=> :a
# :b
p({:a=>1, :b=>2}.each_key) # => #<Enumerator: {:a=>1, :b=>2}:each_key>
//}
@see Hash#each_pair,Hash#each_value -
Hash
# each _ pair -> Enumerator (51043.0) -
ハッシュのキーと値を引数としてブロックを評価します。
ハッシュのキーと値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合 self を、
無しで呼ばれた場合 Enumerator を返します。
each_pair は each のエイリアスです。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each {|a| p a}
#=> [:a, 1]
# [:b, 2]
{:a=>1, :b=>2}.each {|k, v| p [k, v]}
#=> [:a, 1]
# [:b, 2]
p({:a=>1, :b=>2}.each_pair) # => #<... -
Hash
# each _ pair {|key , value| . . . } -> self (51043.0) -
ハッシュのキーと値を引数としてブロックを評価します。
ハッシュのキーと値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合 self を、
無しで呼ばれた場合 Enumerator を返します。
each_pair は each のエイリアスです。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each {|a| p a}
#=> [:a, 1]
# [:b, 2]
{:a=>1, :b=>2}.each {|k, v| p [k, v]}
#=> [:a, 1]
# [:b, 2]
p({:a=>1, :b=>2}.each_pair) # => #<... -
Hash
# each _ value -> Enumerator (51043.0) -
ハッシュの値を引数としてブロックを評価します。
ハッシュの値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合 Enumerator を返します。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each_value {|v| p v}
#=> 1
# 2
p({:a=>1, :b=>2}.each_value) # => #<Enumerator: {:a=>1, :b=>2}:each_value>
//}
@see Hash#each_pair,Hash#each_key -
Hash
# each _ value {|value| . . . } -> self (51043.0) -
ハッシュの値を引数としてブロックを評価します。
ハッシュの値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合 Enumerator を返します。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each_value {|v| p v}
#=> 1
# 2
p({:a=>1, :b=>2}.each_value) # => #<Enumerator: {:a=>1, :b=>2}:each_value>
//}
@see Hash#each_pair,Hash#each_key -
Hash
# eql?(other) -> bool (51043.0) -
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、 値が == メソッドで比較して全て等しい場合に真を返します。
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、
値が == メソッドで比較して全て等しい場合に真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
//emlist[例][ruby]{
#(出力関数は省略)
{ 1 => :a } == { 1 => :a } #=> true
{ 1 => :a } == { 1 => :a, 2 => :b } #=> false
{ 1 => :a } == { 1.0 => :a } #=> fa... -
Hash
# equal?(other) -> bool (51043.0) -
指定された other が self 自身である場合のみ真を返します。
指定された other が self 自身である場合のみ真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
//emlist[例][ruby]{
p({}.equal?({})) #=> false
a = {}
p a.equal?(a) #=> true
//}
@see Hash#== -
Hash
# fetch _ values(key , . . . ) -> [object] (51043.0) -
引数で指定されたキーに関連づけられた値の配列を返します。
引数で指定されたキーに関連づけられた値の配列を返します。
該当するキーが登録されていない時には、ブロックが与えられていればそのブ
ロックを評価した値を返します。ブロックが与えられていない時は
KeyError が発生します。
self にデフォルト値が設定されていても無視されます(挙動に変化がありません)。
@param key 探索するキーを任意個指定します。
@raise KeyError ブロックが与えられてない時にキーの探索に失敗すると発生します。
//emlist[例][ruby]{
h = { "cat" => "feline", "dog" => "canine", ... -
Hash
# fetch _ values(key , . . . ) { |key| . . . } -> [object] (51043.0) -
引数で指定されたキーに関連づけられた値の配列を返します。
引数で指定されたキーに関連づけられた値の配列を返します。
該当するキーが登録されていない時には、ブロックが与えられていればそのブ
ロックを評価した値を返します。ブロックが与えられていない時は
KeyError が発生します。
self にデフォルト値が設定されていても無視されます(挙動に変化がありません)。
@param key 探索するキーを任意個指定します。
@raise KeyError ブロックが与えられてない時にキーの探索に失敗すると発生します。
//emlist[例][ruby]{
h = { "cat" => "feline", "dog" => "canine", ... -
Hash
# keys -> [object] (51043.0) -
全キーの配列を返します。
全キーの配列を返します。
//emlist[例][ruby]{
h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.keys #=> ["a", 2, :c]
//}
@see Hash#values,Hash#to_a -
Hash
# to _ a -> [Array] (51043.0) -
キーと値からなる 2 要素の配列を並べた配列を生成して返します。
キーと値からなる 2 要素の配列を並べた配列を生成して返します。
//emlist[例][ruby]{
h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.to_a #=> c, "c"
//}
@see Hash#keys,Hash#values -
Hash
# values -> [object] (51043.0) -
ハッシュの全値の配列を返します。
ハッシュの全値の配列を返します。
//emlist[例][ruby]{
h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.values #=> [100, ["some"], "c"]
//}
@see Hash#keys,Hash#to_a -
Hash
# []=(key , value) (51025.0) -
key に対して value を関連づけます。value を返し ます。
key に対して value を関連づけます。value を返し
ます。
@param key キーを指定します。
@param value 値を指定します。
//emlist[例][ruby]{
h = {}
h[:key] = "value"
p h #=>{:key => "value"}
//}
@see Hash#[] -
Hash
# clear -> self (51025.0) -
ハッシュの中身を空にします。
ハッシュの中身を空にします。
空にした後のselfを返します。
デフォルト値の設定はクリアされません。
//emlist[例][ruby]{
h = Hash.new("default value")
h[:some] = "some"
p h #=> {:some=>"some"}
h.clear
p h #=> {}
p h.default #=> "default value"
//} -
Hash
# compare _ by _ identity -> self (51025.0) -
ハッシュのキーの一致判定をオブジェクトの同一性で判定するように変更します。
ハッシュのキーの一致判定をオブジェクトの同一性で判定するように変更します。
デフォルトでは、キーのオブジェクトによっては内容が同じならキーが一致しているとみなされますが、より厳密に
Object#object_idが一致しているかどうかを条件とするようにselfを変更します。
selfが変化する破壊的メソッドです。
@return selfを返します。
//emlist[例][ruby]{
h1 = { "a" => 100, "b" => 200, :c => "c" }
p h1.compare_by_identity? #=> false
p h1["a"] #=... -
Hash
# compare _ by _ identity? -> bool (51025.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
# default=(value) (51025.0) -
ハッシュのデフォルト値を value に変更します。対応する値が存 在しないキーで検索した時にはこの値を返すようになります。
ハッシュのデフォルト値を value に変更します。対応する値が存
在しないキーで検索した時にはこの値を返すようになります。
デフォルト値(ブロックを含む)が既に設定してあった場合も value で上書きします。
@param value 設定するデフォルト値です。
@return value を返します。
//emlist[例][ruby]{
h = {}
p h.default #=>nil
h.default = "default"
p h.default #=>"default"
//}
@see Hash#default -
Hash
# delete(key) -> object | nil (51025.0) -
key に対応する要素を取り除きます。
key に対応する要素を取り除きます。
@param key 取り除くキーを指定します。
@return 取り除かれた要素の値を返します。
key に対応する要素が存在しない時には nil を返します。
与えられたブロックは key にマッチする要素がなかった時に評価され、その結果を返します。
//emlist[例][ruby]{
h = {:ab => "some" , :cd => "all"}
p h.delete(:ab) #=> "some"
p h.delete(:ef) #=> nil
p h.delete(:ef){|key|"#{k... -
Hash
# delete(key) {|key| . . . } -> object (51025.0) -
key に対応する要素を取り除きます。
key に対応する要素を取り除きます。
@param key 取り除くキーを指定します。
@return 取り除かれた要素の値を返します。
key に対応する要素が存在しない時には nil を返します。
与えられたブロックは key にマッチする要素がなかった時に評価され、その結果を返します。
//emlist[例][ruby]{
h = {:ab => "some" , :cd => "all"}
p h.delete(:ab) #=> "some"
p h.delete(:ef) #=> nil
p h.delete(:ef){|key|"#{k... -
Hash
# fetch(key) -> object (51025.0) -
key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。
key に関連づけられた値を返します。該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
fetchはハッシュ自身にデフォルト値が設定されていても単に無視します(挙動に変化がありません)。
@param key 探索するキーを指定します。
@param default 該当するキーが登録されていない時の返り値を指定します。
@raise KeyError 引数defaultもブロックも与えられてない時、キーの探索に失敗すると発生します。
//emlist[例][ruby]{
h... -
Hash
# fetch(key) {|key| . . . } -> object (51025.0) -
key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。
key に関連づけられた値を返します。該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
fetchはハッシュ自身にデフォルト値が設定されていても単に無視します(挙動に変化がありません)。
@param key 探索するキーを指定します。
@param default 該当するキーが登録されていない時の返り値を指定します。
@raise KeyError 引数defaultもブロックも与えられてない時、キーの探索に失敗すると発生します。
//emlist[例][ruby]{
h... -
Hash
# fetch(key , default) -> object (51025.0) -
key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。
key に関連づけられた値を返します。該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
fetchはハッシュ自身にデフォルト値が設定されていても単に無視します(挙動に変化がありません)。
@param key 探索するキーを指定します。
@param default 該当するキーが登録されていない時の返り値を指定します。
@raise KeyError 引数defaultもブロックも与えられてない時、キーの探索に失敗すると発生します。
//emlist[例][ruby]{
h...