TECH CAMP 4日目

自分用のアウトプット。

配列 … 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] = “弟切草” のようにすれば、そのキーに対応する値を変更できる。
もしキーがハッシュに含まれていなければ、そのキーと値を新しい要素として追加。

ハッシュを配列に入れて管理することができる。

items = []
item = {}
item = {name: “薬草”, price:100}
items << item
item = {name: “弟切草”, price:500}
items << item
item = {name: “命の草”, price:400}
items << item
puts “#{items[0][:name]}の価格は#{items[0][:price]}Gです。”
puts “#{items[1][:name]}の価格は#{items[1][:price]}Gです。”
puts “#{items[2][:name]}の価格は#{items[2][:price]}Gです。”
 
とすると、
薬草の価格は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%くらいな気がする。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする