Rubyの演算子の優先順位
高い :: [] +(単項) ! ~ ** -(単項) * / % + - << >> & | ^ > >= < <= <=> == === != =~ !~ && || .. ... ?:(条件演算子) =(+=, -= ... ) not 低い and or
Rubyの演算子の優先順位
高い :: [] +(単項) ! ~ ** -(単項) * / % + - << >> & | ^ > >= < <= <=> == === != =~ !~ && || .. ... ?:(条件演算子) =(+=, -= ... ) not 低い and or
Rubyで条件分岐をしたい時
幾つかの方法がある
if文(条件が真かどうかで処理をする)
n = 20
if n >= 18
puts "大人"
else
puts "子供"
end
case文(複数の条件で場合分け)
age = 20
case age
when 0..18
puts "子供"
when 19..150
puts "大人"
else
puts "ん?なんだかおかしな年齢だね"
end
unless文(条件が偽かどうかで処理をする)
age = 20
unless age < 20
puts "20歳以上です"
end
Rubyで繰り返しをしたい時
いくつかの方法がある
timesメソッドを使う(指定した回数繰り返す)メソッド
3.times do
puts "Hello"
end
for ループを使う(範囲、配列、ハッシュ等のそれぞれの要素に繰り返す)制御構造
for i in 1..3
puts "Hello"
end
whileループを使う(ある条件を満たしている間繰り返す)制御構造
n=0
while n < 3
puts "Hello"
n += 1
end
until文を使う(条件判断の結果が偽の間のみ繰り返す)制御構造
n = 0
until n > 2
puts "Hello"
n += 1
end
eachメソッド(範囲、配列、ハッシュ等のそれぞれの要素に繰り返す)
names =["suzuki","tanaka","kato"]
names.each do |name|
puts name
end
uptoメソッド(指定した初期値から最大値までを1ずつ増やしながら繰り返す)
1.upto(3) do |i|
puts i
end
downtoメソッド(指定した初期値から最大値までを減らしながら繰り返す)
3.downto(1) do |i|
puts i
end
loopメソッド(終了条件のない繰り返し。繰り返しを抜けるには break 文を使用)
n = 1
loop do
puts n
n += 1
if n > 3 then
break
end
end
色々便利だな