7月28日 学習記録

実施内容

  • progate

    第1章:配列と繰り返し

    第2章:ハッシュとシンボル

    第3章:nilと様々な配列

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

本日学習した内容

  • 1:配列

    配列とは、複数の値、文字列などを一つにまとめたもの。

    配列に入っている一つ一つの値、文字列の事を「要素」という。

    配列を定義するには、要素全体を[]で囲み、要素を「,」で区切って定義する。

    以下は、「カレーライス」、「ラーメン」、「カツ丼」という3つの要素を持つ配列を変数「foods」に代入している例。

  • 2:繰り返し処理(each文)

    each文を使用すると、配列の要素を順番に取り出して処理を実行できる。

    「配列変数名.each do |変数名| 実行したい処理 end」と記述する。

    以下は、配列変数foodsのすべての要素をコンソールに出力する例である。

  • 3:ハッシュ

    ハッシュとは、配列と同じように複数の値、文字列などを一つにまとめて管理できるものである。

    配列は複数の要素を並べるのに対して、ハッシュではそれぞれの要素に「キー」と呼ばれる名前を付けて管理する。

    配列と異なり、ハッシュでは要素全体を{}で囲み、「キー名 => 値」と記述する。

    ハッシュ要素を用いる場合は、ハッシュ変数名[キー]と記述する。

    以下の例では、キーmenuに対して値カレーライス、キーpriceに対して値600というハッシュを定義し、3行目でキーmenuに対応する値カレーライスをコンソールに出力している。

  • 4:シンボル

    ハッシュの記述は、3で上げた方法以外にもキーの部分を文字列ではなく、先頭にコロン「:」を付ける方法もある。

    このように文字列を「"」や「'」で囲むのではなく、先頭に「:」を付けた書き方を「シンボル」と呼ぶ。

    3のソースコードをシンボルを用いて書き直すと以下のようになる。

    ※定義時にシンボルを用いた書き方をした場合、使用する場合もシンボルの書き方にしないとエラーが出るため、注意。

  • 5:キーがシンボルのハッシュの省略

    ハッシュのキーにシンボルを用いる場合、「:キー名 =>」の部分を「キー名:」のように省略した書き方もできる。

    省略した書き方の場合でも、使用する場合はシンボルを使用する。

    4のソースコードを省略した書き方で書き直すと以下のようになる。

  • 6:「nil」について

    ハッシュをコンソールに出力する場合、存在しないキーを設定しても何も表示されない。

    ハッシュからキーが存在しない値を取り出した場合の、「何もない」状態の事をRubyでは「nil」(ニル)という特別な値で表現される

    以下の例では、ハッシュfoodsに対して存在しないキー「size」に対する値と、nilを出力しようとする例。(いずれも何も表示されない)

  • 7:要素がハッシュである配列

    配列の要素には、値、文字列だけでなくハッシュを用いることも可能。

    配列変数名[インデックス番号]でハッシュを変数に代入し、変数名[キー]とすることで、ハッシュの要素の値を使用できる。

    また、配列変数名[インデックス番号][キー]というように省略して書く事もできる。

    以下の例では、インデックス番号1のハッシュを変数に代入し、キーmenuに対応する文字列ラーメンを出力している。

今日のエラー

18行目でeach文を閉じるendを書き忘れた為、エラーが出た。

f:id:ryo1024:20200729215907p:plain

 

疑問に思ったこと

Rubyでは、CやJavaでいう「while」や「swich~case」に該当する条件分岐はないか?(後のレッスンで習う?)