Ruby基礎(条件分岐)
条件分岐について
前回までは書いたコードをそのまま表示させるだけでした。
しかし、実際は条件によって処理を変更しなければいけないケースが多々出てきます。
そんな時に役立つのが条件分岐です!
では、さっそく実際に書いて動かしてみましょう!
条件分岐規則
条件分岐をする際は今まででてこなかった、インデントと呼ばれるものも意識して書いていきましょう。
インデント
文章の行頭に空白を挿入して先頭の文字を右に押しやること。
文書のスタートを揃えることが、プログラミングでいう所のインデントになります。
if文の規則は下記に書いてある通りです。
if 条件
結果
else(ifで定義した条件以外だった場合)
結果
end(if文はこれで終了と定義)<br>
※endは忘れがちなので注意
実際に新規ファイルを作成(conditions.rb)して条件分岐を使用したコードをみてみましょう!
name = "hoge"
if name == "hoge"
puts "あなたの名前は"+name+"です。"
else
puts "あなたはhogeではありませんね。"
end
※今回でいうと赤線を引いているところがインデントになります。ここを役割ごとに揃えないとエラーがでたり、後々見直した時に見辛くなってしまうので、常にここは意識して揃えるようにしましょう!
今回コード内容を解説すると。
1.nameという変数に、文字列のhogeを定義します。
2.もしnameという変数の中身が文字列のhogeだったら、あなたの名前はname(hoge)です。と表示します。
3.それ以外だったら、あなたはhogeではありませんね。と表示します。
といった処理が走っています。
elsif
if文のルールでこのifを2回使ってはいけないというのがあります。
if 条件
結果
if 条件
結果
end
このようにif文にまたifが入っていますね。
これでは構文エラーと怒られてしまいます。
なので、細くした条件を2個以上書きたい場合は以下のようにelsifを使います。
if 条件
結果
elsif 条件
結果
end
これなら1つのif文で、複数の条件式を書くことが可能です!
では、実際に下記のelsifを使ったコードを書いて実行してみましょう!
LastName = "Hoge"
FirstName = "Taro"
if LastName == "Taro"
puts "苗字はTaroです"
elsif FirstName == "Taro"
puts "名前はTaroです"
else
puts "そんな人は存在しません"
end
かけましたでしょうか??
急に書くコード量が多くなって、タイプミス等ありがちですので、慎重に書いていきましょう!
実行結果は以下の通りだったら成功です!
名前はTaroです
今回のif文では2つめの条件式があっていたので、名前はTaroです。が表示されました!
終わり
今回は条件分岐について学びました。
だんだん使う機能が増えてきて、それに伴いコード量も増えて混乱してきてるかと思います。
しかし、今度こういうの反復で自然と身についていくものなので、焦らず、深く理解せずに次へ次へと不安だと思いますが、進めていきましょう!
では、本記事はこちらで以上になります。
お疲れ様でした!
Author And Source
この問題について(Ruby基礎(条件分岐)), 我々は、より多くの情報をここで見つけました https://qiita.com/gototakuma/items/0fcfa69f0ec765ffc1ea著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .