Help us understand the problem. What is going on with this article?

Ruby.学習その2

投稿目的

  • 個人の学習目的で投稿していきます。
  • Rubyの入門を読みながら自分なりの思考で記述しています。

参考資料

ゼロからわかる Ruby 超入門 (かんたんIT基礎講座)

条件分岐とは?

  • 条件とは[もし、〇〇以上だったら〇〇をする]みたいに条件を付けることで分岐点を作ることができ、そうすることでプログラムの幅が広がる。

trueとfalse

  • trueとfalseも文字列と整数と同じでオブジェクトの一種。
  • 条件式の結果はtrueかfalseで返る、条件が正しい場合はtrue、条件が誤っている場合はfalseとなる。

if文、end

  • Rubyで条件分岐をする上で必要となるのがif(もし)とend(ここまで)を利用する。
if 10 >= 10  #  条件
  puts "trueだよ"  #  条件がtrueの場合の処理を実行
end  /  ifの終わり
  • 条件がtrueではない場合は何も実行せずにendの次の処理へ進む。
  • 条件を満たされていないケースには2つあり、false(偽)とnil(何もない)が存在する。

unless

  • unlessはifとは違って条件を満たしていない場合に処理を実行をする。
  • 後置で記述する事もできる。
unless 30 >= 100  # 条件
  puts "falseだよ"  # 条件がfalseの場合に処理を実行
end  / unlessの終わり

else

  • 条件が満たせている場合と満たせていない場合どちらの場合でも処理を実行するようにするにはelseを利用します。
if 10 >= 15 
  puts "trueの場合の処理"  # trueの処理
else 
  puts "falseの場合の処理"  # falseの処理
end

elsif

  • elseとifを組み合わせたelsifで分岐先を増やすことができる。
if 10 <= 1
  puts "条件1true"  # 条件1がtrueの場合の処理
elsif 10 >= 1
  puts "条件2true"   # 条件2がtrueの場合の処理
else 
  puts "条件がfalse"  # 両方の条件がfalseの場合の処理
end

後置if(if修飾子)

  • 後置ifを利用することで複数行で記述したプログラムを1行で書くことができendを記述する必要がない。
puts "trueだよ" if 10 >= 10 

条件分岐2

  • 条件分岐にはifの他にcaseなども存在する。

case

  • caseを利用することで条件1つに対して複数の処理候補を記述することができる。
  • 候補は二つ以上追加しても問題はない。
case 変数
when "候補1"  #  変数と候補1が等しい場合、処理を実行
    候補1と等しい場合の処理
when "候補2"  #  変数と候補2が等しい場合、処理を実行
    候補2と等しい場合の処理
end
  • どの候補にも一致しない場合elseで一致しない場合の処理を記述することもできる。
case 変数
when "候補1"  #  変数と候補1が等しい場合、処理を実行
    候補1と等しい場合の処理
when "候補2"  #  変数と候補2が等しい場合、処理を実行
    候補2と等しい場合の処理
else
    どの候補に一致しない場合の処理
end
  • caseには変数を記述しないで条件式を記述して行うやり方もある。
  • 条件式はif同様比較演算子などを利用して記述する。
case
when 条件式1  
  puts "処理1"  #  条件1がtrueの場合の処理
when 条件式2
  puts "処理2"  #  条件2がtrueの場合の処理
end

条件演算子

  • 複数の条件を組み合わせる時に利用するのが条件演算子。
  • 条件はいくつ付けても問題はない。
||条件演算子、&&条件演算子
  • || は[または]、[or]を意味する。
if 条件1 || 条件2  #  条件1または条件2という意味
  puts "どちらかの条件がtrue"  #  条件1か条件2がtrueの場合処理が実行される
end
  • && は[かつ]、[and]を意味する。
if 条件1 && 条件2  #  条件1かつ条件2という意味
  puts "両方の条件がtrue"  #  両方の条件がtrueに場合処理が実行される
end

比較演算子

  • 条件式には比較演算子が利用される。
  • 比較演算子とは〇〇より〇〇などと比較をするための記号.
比較演算子 意味
< 左辺が右辺より小さい
> 左辺が右辺より大きい
<= 左辺が右辺より小さいまたは等しい
>= 左辺が右辺より大きいまたは等しい
== 左辺が右辺と等しい
!= 左辺が右辺と等しくない

末尾に?が付くメソッド

  • ?が付くメソッドはtrueかfalseで返すことが多い。

  • even?メソッドは偶数かどうかを判断する。

puts 10.even?  # true
  • odd?メソッドは奇数かどうかを判断する。
puts 10.odd?  # false

timesメソッド

  • timesメソッドは繰り返し処理を行うことができる。
  • doがここから、endがここまでその間に処理内容を記述する。
  • doとendのセットをブロックという。
繰り返す回数.times do
    繰り返す処理内容
end
  • doとendの代わりに{}を使用する事もできる。
繰り返す回数.times {
    繰り返す処理内容
}

while文

  • 条件を付けてその条件が満たしている間は繰り返し処理を行う。
  • whileはdoとendではなくwhileとendをセットで利用する。
while 条件
  繰り返し行う処理内容
end
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away