7月27日 学習記録

実施内容

  • progate

    Ruby I

    第1章:Rubyを動かしてみよう

    第2章:変数を使ってみよう

    第3章:条件分岐をしてみよう

    第4章:課題にチャレンジしよう

本日学習した内容

※演算の記述、変数の定義、などはC言語Javaと共通する部分があるのでそういった部分は省略し、それらとは異なる部分のみ記述する。

    • 1:コンソールへの出力

      コンソールへ文字列、変数などを出力する際は「puts 文字列や変数名」と記述する。

      以下のコードを実行するとコンソールに「こんにちは」と出力される。

      ※putsの後には半角スペースが必要なので注意。

    • 2:コメント

      行の先頭に「#」を記述すると、その行はコメントとなる。

      以下の例では、2行目の「おはようございます」はコンソールに出力されない。

    • 3:変数展開

      文字列内で#{変数名}とすることで、変数に代入されている値に置き換えて文字列に含める事ができる。

      以下は、コンソールに「こんにちは田中さん」と出力する例。

      変数展開を行う場合は、文字列をダブルクォーテーションで囲むこと。

      3行目のようにシングルクォーテーションで囲んでしまうと変数展開されずにそのまま文字列となって出力されてしまう。

      Rubyでは、数値と文字列を「+」演算子で連結することはできない。(実行するとエラーとなる)

    • 4:条件分岐について

      ある条件が成立する場合のみ処理を行いたい場合は、ifの後ろに条件式を書き、処理をifとendで囲む。

      以下は、scoreの値が80より高い場合に「よくできました」と出力する例。

    • 5:条件が成り立たない場合の処理

      ある条件が成り立たない場合の処理を記述したい場合は「if~else~end」文を使用する。

      前述の通り、条件が成り立つ場合の処理をifの後に記述し、成り立たない場合の処理はelseの後に記述する

      以下の例は、scoreが80より高い場合は「よくできました」、そうでない場合は「がんばりましょう」と出力する。

    • 6:複数の条件を追加する

      5の「if~else~end」文では1つの条件しか記述できないが、「if~elsif~else~end」文ならば、複数の条件を記述できる。

      以下の例は、scoreが80より高い場合は「よくできました」、80より低く60より高い場合は「まずまずです」、そうでない場合は「がんばりましょう」と出力する。

今日のエラー

今日はエラーなし

疑問に思ったこと

CやJavaでは、数値と文字列の連結は「+」演算子で行えたはずだが、何故Rubyではできないか?

progateのサンプルコードでは行末にセミコロンは付いていなかったが、セミコロンを試しに付けてみても問題なく動いた。

セミコロンは付いていても付いていなくても影響はないのか?