<4-1,4-2>要素の取得、nill

p ["カフェラテ","モカ","コーヒー"]

drinks = ["カフェラテ","モカ","コーヒー"]
p drinks
#配列を代入する変数は複数形にする

drinks = ["コーヒー","カフェラテ"]
p drinks[0]
p drinks[1]
#配列の順番は0から始まる 逆から数えることもでき、その場合は「-1」のように呼び出す

puts drinks.first
puts drinks.last
#配列の一番初めを「.first」、一番最後を「.last」と呼び出すこともできる

puts drinks[7]
#もし、上記のように配列の中に存在しない要素を呼び出そうとすると、「nill」と返ってくる。「nill」とは「何もない」ことである

<4-3>要素の追加と削除

#要素の追加 .push
drinks = ["コーヒー"]
drinks.push("カフェラテ")
p drinks # =>["コーヒー", "カフェラテ"]

#要素を先頭に追加 .unshift
drinks.unshift("モカ")
p drinks # =>["モカ", "コーヒー", "カフェラテ"]

#要素を末尾に追加 <<
drinks << "ティーラテ"
p drinks # =>["モカ", "コーヒー", "カフェラテ", "ティーラテ"]

#末尾から要素の削除 .pop
drinks.pop
p drinks # => ["モカ", "コーヒー", "カフェラテ"]

#先頭から削除 .shift
drinks.shift
p drinks # => ["コーヒー", "カフェラテ"]

#削除した要素を呼び出す
p drinks.pop # =>"カフェラテ"
p drinks.shift # =>"コーヒー"
#配列の足し算
a1 = [1,2,3]
a2 = [4,5]
p a1 + a2 # =>[1, 2, 3, 4, 5]

#配列の引き算
a1 = [1,2,3]
a2 = [1,3,5]
p a1 - a2 # =>[2] 配列を比べて引かれている方の配列にのみ存在する要素を返す

menu = ["A","B","C"]
ordered = ["A","B"]
p not_ordered = menu - ordered # =>["C"]

<4-4>配列の繰り返し処理

#eachメゾット => 配列の全要素を繰り返し処理する 「|」(パイプ)に挟まれているのは変数である
drinks = ["コーヒー","カフェラテ"]
drinks.each do |drink|#変数は単数形
  puts drink
end
=begin
コーヒー
カフェラテ
=end

#繰り返し処理を中断させる方法 break
drinks = ["コーヒー","カフェラテ","カフェモカ","フラペチーノ","ショット"]
drinks.each do |drink|
  break if drink == "フラペチーノ"
  puts drink
end
=begin
コーヒー
カフェラテ
カフェモカ
=end

#繰り返し処理を飛ばす
drinks.each do |drink|
  next if drink == "フラペチーノ"
  puts drink
end
=begin
コーヒー
カフェラテ
カフェモカ
ショット
=end

#Rangeオブジェクト (1..4)
(2..9).each do |number|
  puts number
end
=begin
2
3
4
5
6
7
8
9
=end