自分用のアウトプット。
配列 … 1つの変数で複数の値を持つことのできる値。順番で値を管理する。
hairetsu = [] のように生成する。
hairetsu = [“youso1”, “youso2”, “youso3”] のように記述すると配列に要素を入れられる。
配列演算子 … 配列に対して様々な処理を行う演算子。(<<など)
hairetsu << “youso4″ とすると、配列に要素を追加。
添字 … 配列の各要素に割り振られた番号。0から始まる。
配列[添字] で配列の要素を取得できる。
puts hairetsu[2] など
取得した要素は別の変数に代入できる。
hensuu = hairetsu[2]
配列[添字] = 値 で要素を変更できる。
hairetsu[2] = “youso5”
lengthメソッド(配列) … 配列の要素数を返す。
(文字列の文字数を表すものとは別)
puts hairetsu.length
配列の最後の要素を取得したければ
hairetsu[hairetsu.length – 1] とする。
ハッシュ … 「データ」と、それに対応する「名前」のセットを要素として持つ値。
{}を使って生成する。
item = {“name” => “薬草”, “price” => 100}
としてもよいが、シンボルを使って
item = {name: “薬草”, price:100}
と表すことができる。こっちの方が記述がシンプル。
ハッシュへ要素を追加するには
item[:effect] = “heal” のように記述。
item[:name] = “弟切草” のようにすれば、そのキーに対応する値を変更できる。
もしキーがハッシュに含まれていなければ、そのキーと値を新しい要素として追加。
ハッシュを配列に入れて管理することができる。
薬草の価格は100Gです。
弟切草の価格は500Gです。
命の草の価格は400Gです。
と出力される。
比較演算子 … 値同士を比較するもの。
A > B AはBより大きいか
A >= B AはB以上か
A < B AはBより小さいか
A <= B AはB以下か
A == B AはBと等しいか
正しければtrue、誤っていればfalseという真偽値が返ってくる。
!はnot演算子といい、否定を表す。
A != B AとBが等しくない場合にtrueを返す。
条件分岐処理(もし◯◯だったら△△をする)
if文 … 条件式がtrueかfalseかで実行する処理を分岐させる。
if 条件式
処理
end という記述。処理の記述の前は空白を入れて揃えておく。
else(if文)… 条件式が偽の場合に処理を実行する。
elsif(if文)… 条件式1は偽だが条件式2は真、などの処理をできる。
if 条件式1
条件式1が真のときの処理
elsif 条件式2
条件式1が偽で条件式2が真のときの処理
else
条件式1も2も偽のときの処理
end
繰り返し処理
timesメソッド … 数値が持つメソッド。その回数分だけ処理を繰り返す。
数値.times do |ブロック変数|
繰り返す処理
end
timesメソッドのブロック変数は、そのメソッドの中だけで使用できるもの。
繰り返し処理が1回実行されるごとに1ずつ増加する値が代入される。
はじめは0。
control + c でプログラムが実行中でも強制終了できる。
eachメソッド … 配列が持つメソッド。要素ひとつ一つに対して繰り返し処理ができる。
配列.each do |配列の要素|
処理
end
4日目はこんなもんかなー。
条件分岐はProgateでもやってたから結構すんなり理解できたけど、繰り返し処理がむずい。
特にeachメソッドは最初全く意味がわからんかった。
とりあえず納得はできたけど、まだ理解度70%くらいな気がする。