チワワかわいいブログ

RUNTEQでrails勉強する日々の記録

Ruby silver勉強

途中まで書いたのが消えた
Ruby silverの勉強ノート

文法

ブロックを受けるメソッド
  • 配列のeachメソッド 要素に対してブロック内の処理が順に実行される
[1, 2, 3].each do |value|
  p value
end  #=> 1, 2, 3が出力
  • each_with_indexメソッド 引数を2つ取り、第2引数に配列のインデックス(配列の中で何番目か)が指定される
[3, 4, 5].each_with_index do |value, index|
  puts "index => #{index} 数字 => #{value}"  
end
#=>
index => 0 数字 => 3
index => 1 数字 => 4
index => 2 数字 => 5
=> [3, 4, 5]
  • ハッシュのeachメソッド キーと値をそれぞれ第1引数、第2引数に受ける
{a:1, b:2}.each do |key, value|
  puts "#{key}:#{value}"
end
#=>
a:1
b:2
=> {:a=>1, :b=>2}
  • each_keyメソッド、each_valueメソッド キー、値のみを受ける
{a:1, b:2}.each_key do |key|
  puts "key => #{key}"
end
#=>
key => a
key => b

{a:1, b:2}.each_key do |value|
  puts "value => #{value}"
end
#=>
value => 1
value => 2
脱出構文
  • next
10.times do |i|
   next if i == 5
   print i, " "
end  
#=>
0 1 2 3 4 6 7 8 9 => 10
10.times do |i|
   redo if i == 5
   print i, " "
end
#=>
0 1 2 3 4 .... ループ