条件分岐

条件分岐

このチャプターでは条件分岐(if文)とは何かを学び、if文の書き方のマスターを目指します。

吉田先生

条件分岐のifやelseは頻繁に使用します。一見難しそうですが、実はとても単純な構造なので安心してくださいね。


条件分岐(if文)

1.条件分岐(if文)とは

if文とは「もし~なら」という意味で使うコードです。

また、if ~ else 文では「もし〜ならば〜そうでなければ〜です」という意味で使います。

具体的な使い方を見ていきましょう。

name1 = "yoshida"

という変数があるとします。

もし、name1に入っている値がyoshidaであれば「yes」と返しなさいという指示をRailsで書くと

  name1 = "yoshida" 
  if name1 == "yoshida"
   "Yes"
  end 

となります。

このコードを1行ずつ見ていきましょう。

2.コードの意味

ここまでは前章の変数で解説した通りです。まずはname1という変数にyoshidaという値を代入します。

ここで注意してほしいのは、Railsで使用する=(イコール)とは「等しい」という意味ではなく「代入」を意味するということです。 その為、name1とyoshidaという値が等しいと表現するときは==と記述します。

3.おさらい

ここで先ほどの条件分岐のif文をもう一度確認しましょう。  

  name1 = "yoshida" 
  if name1 == "yoshida"
   "Yes"
  end 

まずは、変数と値を設定し、もし~だったらという条件を定義します。

次に、putsでifで設定した条件が正しいときに返す値を設定し、endでif文の終わりを明示します。

if ~ else 文

if ~ elseは「もし〜ならば〜そうでなければ〜です」という意味で使います。

先ほどのif文と同様に具体的な使い方を見ていきましょう。

1.if ~ else 文

    name1 = "yoshida"
    if name1 == "suzuki"
    "YES"
    else
    end    

となります。このコードも1文ずつ確認していきましょう。

2.コードの意味

1行目のname1 = "yoshida"は先ほどのif文と同じです。

2行目もif文と同様ですが、今回は1行目で

name1 = "yoshida"

とname1という変数にyoshidaという値を代入しているのですが

if name1 == "suzuki"

と「もしname1という変数に代入されている値がsuzukiと等しければ」というように内容が変わっています。

3.おさらい

if~else文もまずは、変数と値を設定し、「もし〜ならば〜そうでなければ〜」という条件を定義します。

ifで設定した条件が正しいときに返す値(yes)と、設定した条件と異なる場合に返す値(no)を設定し、endでif文の終わりを明示します。

では実際に、コードを書いて確認してみましょう。

変数の処理の確認では$ irbを使用しましたが、これ以降のコードの確認では実際にファイルにコードを記述してターミナルで処理を確認します。

テスト用ファイルの作成

1.testファイルの作成

ファイルナビゲータに新しくtestというフォルダを作成します。testフォルダの中に新しくファイルを作成し、ファイル名はtest_if.rbと変更し保存します。

※変数や条件分岐、これ以降にでてくる配列やメソッド、クラスなどは全てデータに関する項目の為、テスト用のファイルも〇〇.rbというモデルファイルになります。

新しいフォルダや新規ファイルの作り方がわからない場合は教程2のコチラを参照してください。

2.ifのコードを書いてみよう

以下のif文のコードを書いてみましょう。

    name1 = "yoshida"
    if name1 == "yoshida"
        puts "Yes"
    end

test_if.rbファイルにコードを記述したら保存します。

※WindowsならCtr+S、Macの場合は⌘+S

3.ターミナルでコードを確認

次にターミナルでこのコードがうまく実行できるか確認します。以下のコマンドを入力してください。

$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 [スキルハブ]では無料の動画講座を多数公開しています。他校だと数万円するような講座が無料で受講できます。

無料講座一覧を見る

×