紙一枚の積み重ね : ruby / 配列とハッシュ
RailsでDBからデータを取得する際に「これ取ってくるときに内部で何が行われているんだろう」と思っていたのですが、Progateの「配列とハッシュ」に解説が合ったのでメモ
#1. 配列
each文の書き方
配列.each do|変数名|
ex)
names=["AAAAA","BBBBBB","CCCCCC"]
names.each do|name|
puts "My name is #{name} . "
end
=>My name is AAAAA .
....
#変数nameが使える範囲はeach行からend行まで。(これを「変数nameが使えるscope(スコープ)」という
#2. 配列とハッシュ
配列 : [”AAAAAA”(値1) , "BBBBBBB"(値2) , "CCCCCCC"(値3)]
ハッシュ : {キー1 => 値1 , キー2 => 値2 }
######################################################################
ex1
human1 = {"name" => "Okina" , "age" => 25 }
puts human1
=> {"name" => "Okina" , "age" => 25 } #(ハッシュがそのまま表示される)
puts human1["name"]
=> Okina
human1["age"] = 26 #キーに格納されている値の変更
puts human1
=>{"name" => "Okina" , "age" => 26 }
human1["gender"]= "male" #ハッシュにキーと値を追加
=>{"name" => "Okina" , "age" => 26 , "gender" = "male"}
######################################################################
ex2
human2 = {:name => "Ouna" , :age => 25 }
#(""ではなく:(コロン)でも同様に記載可能。この「:name」のような書き方を「シンボル」という)
puts human2
=> {:name => "Ouna" , :age => 25 }
puts human2[:name] #(書き方に注意)
=>Ouna
######################################################################
ex3
human3 ={name: "Omina" , age: 25}
puts human3
=> {:name=> "Omina" , :age=>25}
puts human3[:name] #(変数宣言時に省略した場合でも:(シンボル)は必要)
=> Omina
#注意
#human3 ={name : "Omina" , age: 25} のように、キーの後ろにスペースが入るとエラーとなるので注意
######################################################################
ex4
#配列の中にハッシュを入れるやり方
exams =[
{subject: "Math", score: 80} ,
{subject: "Science", score: 55}
]
puts exams[1]
=>{subject: "Science", score: 55}
exam = exams[1]
puts exam[:subject]
=> Science
puts exams[1][:subject]
=> Science
exams.each do|exam|
puts "#{exam[:subject]}の結果は#{exam[:score]}点です"
end
=>
Mathの結果は80点です
Scienceの結果は55点です
#注意 ハッシュ間で 「 , 」 を忘れないこと
#end
この記事が気に入ったらサポートをしてみませんか?