やったこと
Rubyではいろんな繰り返し処理があるようなのでメモ的なもの
使い方みたいなのはまた覚えるとして、とりあえず書いていこう
最初から最後まで順番に繰り返しながら実行する
for文もあるけど、今回はやらない
numbers = [1,2,3,4,5]
numbers.each do |number|
puts number
end
# 一行で書くこともできる
numbers.each { |number| puts number }
# 番号をつけてあげる
numbers.each.with.index(1) do |number , i|
puts "No #{number} #{i}回目の処理"
end
# チーム分け
lists= ["A", "B", "C", "D", "E", "F"]
list.shuffle!
team_a = []
team_b = []
lists.each.with_index do |user, i|
if i.odd?
team_a << user
else
team_b << user
end
end
text = "チームA\n"
team_a.each.with_index(1) do |member, i|
text += "No#{i}:#{member}さん\n"
end
text += "\nチームB\n"
team_b.each.with_index(1) do |member, i|
text += "No#{i}:#{member}さん\n"
end
puts text
単純にn回数実行(出力)したい時
#全部やっていることは一緒書き方が違うだけ
5.times do
puts 'Hello!'
end
5.times do |i|
puts "#{i}: Hello!"
end
5.times { |i| puts "#{i}: Hello!" }
5.times { |i|
puts "#{i}: Hello!"
}
指定した条件が真である時処理を繰り返す
# 10になるまでカウントする
i = 0
while i < 10
puts "#{i}:hello"
i += 1 # i = i + 1
end
指定した条件を1ずつ増減させながら実行する
10.upto(14){ |n| puts n}
10
11
12
13
14
14.downto(10){ |n| puts n}
14
13
12
11
10
指定した条件をn数増減させながら実行する
1.step(10,2){|n| puts n}
1
3
5
7
9
10.step(1,-2){|n| puts n}
10
8
6
4
2
loop break next
# 無限ループ
i = 0
loop do
puts i
i += 1
end
# 10になったらループ処理を止める(break)
j = 0
loop do
puts j
j += 1
break if j == 10
end
#
numbers = [1, 2, 3, 4, 5]
numbers.each do |n|
next if n % 2 == 0 #偶数は飛ばす(奇数のみ出力)
next if n.even? #偶数は飛ばす(奇数のみ出力)
next if n.odd? #奇数は飛ばす(偶数のみ出力)
puts n
end```