Webエンジニア目指して#29
どうもスプラマンです。
未だにこのゲームやり続けてるのやばいですね レーティング制で終わりがない、なおかつこれだけやってても楽しいと思える瞬間があるのがゲームとしてすごいなあと思います。環境はひどいけど・・・
さて本日もやってまいりましょうProgateのRuby IIです。ゼノブレ終わったので駆け抜けたい
配列
ingredients=["miso","soy sauce","kinako"] puts "味の決め手は#{ingredients[1]}です" ------出力結果 味の決め手はsoy sauceです
each文
ingredients=["miso","soy sauce","kinako"] ingredients.each do |ingredient| puts "#{ingredient}を持っています" end
*each文の中にはスコープが作られるため注意
ハッシュ
foods = { "name"=>"apple", "number"=>5 } puts foods foods["number"]-=1 #キーの更新 puts "個数が#{foods["number"]}に変更されました" foods["price"]=300 #キーの追加 puts foods -----出力結果 {"name"=>"apple", "number"=>5} 個数が4に変更されました {"name"=>"apple", "number"=>4, "price"=>300}
多分jsでオブジェクトにプロパティを指定するのと同じ役割
rubyではハッシュ
にキー
を指定する
*配列の[ ]
と違い{ }
なところに注意
[ ]でやっても動作したけど...
シンボル
foods ={ :name=>"apple" :number=>9 }
文字列とは違い、内部では数値として扱っているため処理が早いらしい
シンボルを使ったハッシュの省略
foods ={ name: "apple" number: 9 }
:name=>
の代わりにname:
のような書き換えが可能
呼び出しの際は変わらずfoods[:name]
で扱う
nil
null
はRubyではnil
として扱う
ハッシュin配列
foods=[ {name: "apple", number: 9}, {name: "orange", number: 5} ]
puts foods[1][:name]
配列内のハッシュ値を出力
実行結果=>apple
each+ハッシュ
foods=[ {name: "apple", number: 9}, {name: "orange", number: 5} ] foods.each do |food| puts "#{food[:name]}は#{food[:number]}個あります" end 実行結果-------- appleは9個あります orangeは5個あります ----------------
こんなもんですね、ではでは。