情報学部 | 菅沼ホーム | 目次 | 索引 |
$KCODE = "SJIS" print " 定義\n" h = {1 => "a", 2 => "b", 3 => "c"} p h print " 配列の利用( *x は,配列を展開)\n" p Hash[1, "a", 2, "b", 3, "c"] x = [1, "a", 2, "b", 3, "c"] p Hash[*x] print " キーと値の配列利用\n" k = [1, 2, 3] v = ["a", "b", "c"] p x = k.zip(v) p Hash[*x.flatten]
定義 {1=>"a", 2=>"b", 3=>"c"} 配列の利用( *x は,配列を展開) {1=>"a", 2=>"b", 3=>"c"} {1=>"a", 2=>"b", 3=>"c"} キーと値の配列利用 [[1, "a"], [2, "b"], [3, "c"]] {1=>"a", 2=>"b", 3=>"c"}
h = Hash.new("Not Exist") p h[1] # "Not Exist" を出力 h = Hash.new { |hash, key| if key < 5 then hash[key] = "small" else hash[key] = "big" end } p h[1] # "small" を出力 p h[7] # "big" を出力
h = {1 => "a", 2 => "b", 3 => "c"} p h[2] # => "b"
h = {1 => "a", 2 => "b", 3 => "c"} p h[4] = "d" # => "d" p h # => {1=>"a", 2=>"b", 3=>"c", 4=>"d"} p h[1] = "f" # => "f" p h # => {1=>"f", 2=>"b", 3=>"c", 4=>"d"}
h = Hash.new("Not Exist") p h.default # "Not Exist" を出力 h = Hash.new { |hash, key| if key < 5 then hash[key] = "small" else hash[key] = "big" end } p h.default(1) # "small" を出力 p h.default(7) # "big" を出力
h = Hash.new("Not Exist") p h[1] # => "Not Exist" h.default = nil p h[1] # => nil
h = Hash.new { |hash, key| if key < 5 then hash[key] = "small" else hash[key] = "big" end } p h.default_proc # => #<Proc:0x02840768@test.rb:1>
h = {1 => "a", 2 => "b", 3 => "c"} p h.delete(2) # => "b" p h # => {1=>"a", 3=>"c"} p h.delete(2) { |m| "Not Exist" } # => "Not Exist"
h = {1 => "a", 2 => "b", 3 => "b", 4 => "d"} p h.reject { |key, value| key > 2 && value == "b" } # => {1=>"a", 2=>"b", 4=>"d"} p h # => {1=>"a", 2=>"b", 3=>"b", 4=>"d"}
h = {1 => "a", 2 => "b", 3 => "b", 4 => "d"} p h.delete_if { |key, value| key > 2 && value == "b" } # => {1=>"a", 2=>"b", 4=>"d"} >p h # => {1=>"a", 2=>"b", 4=>"d"}
h = {1 => "a", 2 => "b", 3 => "b", 4 => "d"} $count = 0 h.each { |key, value| if value == "b" then $count += 1 end } p $count # => 2
h = {1 => "a", 2 => "b", 3 => "b", 4 => "d"} $count = 0 h.each_key { |key| if key > 2 then $count += 1 end } p $count # => 2
h = {1 => "a", 2 => "b", 3 => "b", 4 => "d"} $count = 0 h.each_value { |value| if value == "b" then $count += 1 end } p $count # => 2
h = {1 => "a", 2 => "b", 3 => "b"} p h.fetch(2) # => "b" p h.fetch(4) { |key| "Not Exist" } # => "Not Exist"
h = {1 => "a", 2 => "b", 3 => "b"} p h.has_key?(2) # => true p h.has_key?(4) # => false
h = {1 => "a", 2 => "b", 3 => "b"} p h.has_value?("b") # => true p h.has_value?("c") # => false
h = {1 => "a", 2 => "b", 3 => "c"} p h.keys # => [1, 2, 3]
h1 = {1 => "a", 2 => "x"} h2 = {2 => "y", 3 => "c"} p h1.merge(h2) # => {1=>"a", 2=>"y", 3=>"c"} p h1.merge(h2) { |key, v1, v2| v1 } # => {1=>"a", 2=>"x", 3=>"c"}
h1 = {1 => "a", 2 => "x"} p h1.to_a # => [[1, "a"], [2, "x"]]
h = {1 => "a", 2 => "b", 3 => "c"} p h.values # => ["a", "b", "c"]
h = {1 => "a", 2 => "b", 3 => "c"} p h.values_at(1, 3) # => ["a", "c"]
情報学部 | 菅沼ホーム | 目次 | 索引 |