このチャプターでは条件分岐(if文)とは何かを学び、if文の書き方のマスターを目指します。
条件分岐のifやelseは頻繁に使用します。一見難しそうですが、実はとても単純な構造なので安心してくださいね。
if文とは「もし~なら」という意味で使うコードです。
また、if ~ else 文では「もし〜ならば〜そうでなければ〜です」という意味で使います。
具体的な使い方を見ていきましょう。
name1 = "yoshida"
という変数があるとします。
もし、name1に入っている値がyoshidaであれば「yes」と返しなさいという指示をRailsで書くと
name1 = "yoshida"
if name1 == "yoshida"
"Yes"
end
となります。
このコードを1行ずつ見ていきましょう。
ここまでは前章の変数で解説した通りです。まずはname1という変数にyoshidaという値を代入します。
ここで注意してほしいのは、Railsで使用する=(イコール)とは「等しい」という意味ではなく「代入」を意味するということです。 その為、name1とyoshidaという値が等しいと表現するときは==と記述します。
ここで先ほどの条件分岐のif文をもう一度確認しましょう。
name1 = "yoshida"
if name1 == "yoshida"
"Yes"
end
まずは、変数と値を設定し、もし~だったらという条件を定義します。
次に、putsでifで設定した条件が正しいときに返す値を設定し、endでif文の終わりを明示します。
if ~ elseは「もし〜ならば〜そうでなければ〜です」という意味で使います。
先ほどのif文と同様に具体的な使い方を見ていきましょう。
name1 = "yoshida"
if name1 == "suzuki"
"YES"
else
end
となります。このコードも1文ずつ確認していきましょう。
1行目のname1 = "yoshida"は先ほどのif文と同じです。
2行目もif文と同様ですが、今回は1行目で
name1 = "yoshida"
とname1という変数にyoshidaという値を代入しているのですが
if name1 == "suzuki"
と「もしname1という変数に代入されている値がsuzukiと等しければ」というように内容が変わっています。
if~else文もまずは、変数と値を設定し、「もし〜ならば〜そうでなければ〜」という条件を定義します。
ifで設定した条件が正しいときに返す値(yes)と、設定した条件と異なる場合に返す値(no)を設定し、endでif文の終わりを明示します。
では実際に、コードを書いて確認してみましょう。
変数の処理の確認では$ irbを使用しましたが、これ以降のコードの確認では実際にファイルにコードを記述してターミナルで処理を確認します。
ファイルナビゲータに新しくtestというフォルダを作成します。testフォルダの中に新しくファイルを作成し、ファイル名はtest_if.rbと変更し保存します。
※変数や条件分岐、これ以降にでてくる配列やメソッド、クラスなどは全てデータに関する項目の為、テスト用のファイルも〇〇.rbというモデルファイルになります。
新しいフォルダや新規ファイルの作り方がわからない場合は教程2のコチラを参照してください。
以下のif文のコードを書いてみましょう。
name1 = "yoshida"
if name1 == "yoshida"
puts "Yes"
end
test_if.rbファイルにコードを記述したら保存します。
※WindowsならCtr+S、Macの場合は⌘+S
次にターミナルでこのコードがうまく実行できるか確認します。以下のコマンドを入力してください。
$cd test #testフォルダに移動
$ ruby test_if.rb #test_if.rbファイルの中身を実行
ちなみに#以降の部分は解説の為、入力は不要です。
ファイルの中身を実行する場合は、
$ ruby ファイル名
というコマンドを使用します。
コマンドを実行した結果が Yes と表示されています。
name1という変数にはyoshidaという値が代入されており、「もしname1に代入されている値がyoshidaの場合はyesと返しなさい」という条件だった為、yesと表示されているのです。
if~else文も同様にindex.htmlに記述してブラウザで確認してみましょう。 ブラウザの確認が終了したら、index.htmlに記述したコードは削除してファイルを更新し、閉じてください。
無料ビデオ講座のお知らせ
Skillhub [スキルハブ]では無料の動画講座を多数公開しています。他校だと数万円するような講座が無料で受講できます。