Ruby超入門 2周目 CHAPTER 4−3  要素を追加・削除する まで

f:id:kkouji0224:20191017110900p:plain

 

『ゼロからわかる Ruby 超入門 (かんたんIT基礎講座) 』


github.com

 ※上の画像はRuby超入門に出てくる配列オブジェクトさん

べこ🐄 (@becolomochi) | Twitterさんのイラストでgithubで公開してくれてるんだよ!

 

おはようございます。秋が急に深まりすぎて寒いですね…

 

今日は配列をやったので、その振り返りをやっておきます!まず配列は英語にするとArrayですね。Arrayもオブジェクト!種類の違う要素を1つの配列に入れることもできるんですね。文字列オブジェクト、整数オブジェクト、少数オブジェクトみたいな種類が違っても入れれちゃう。

 

変数に代入することもできると。

で、代入するときの変数名を複数形にしてあげることが慣習があるみたい。

 

drinks = ["コーラ""ファンタ""メロンソーダ"]

 

そりゃそうだよね。上みたいに配列に色んな飲み物が入ってたら変数名を複数形にしたほうが現実的な感じするよね。

 

じゃー配列の中の要素を取得していきましょー。

 

drinks = ["コーラ""ファンタ""メロンソーダ"]
puts drinks[0#=>コーラ
puts drinks[2#=>メロンソーダ

 

配列って1から始まるんじゃなくて0からはじまるんだよね。

なのでputs drinks[0]は先頭(ゼロ番目)のコーラになるんだね。

 

これputs drinks[-1]だと末尾のメロンソーダになる。今ふと思ったんだけど、-0ってのはないんだね。0も-0も同じっていうか-0は存在しないのかな?ってことで、上のプロフラムのputs drinks[0]をputs drinks[-0]にして実行したらメロンソーダになっちゃったね。

 

ほぉ… これは面白いと思って、 p 0 == -0ってやってみたらtrueが返ってきたよ!

 

面白いね!

 

脱線しちゃったので元にもどってと…

 

取得するための専用のメソッドもあるのね。

 

drinks = ["コーラ""ファンタ""メロンソーダ"]
puts drinks.first #=>コーラ
puts drinks.last #=>メロンソーダ

 

配列.firstとか配列.lastみたいな感じで書いてあげると、読んで字の如く的な感じで取得できるんだねぇ。ちなみに配列の要素の中に対応するものがなかった場合はnilが返ってくるんだね。

 

上のプログラムだと変数drinksに代入してるけど

["コーラ""ファンタ""メロンソーダ"].first

 

変数使わなくても呼び出せるんだよね。

 

こんな感じで追加と削除もできる。1つ1つやると覚えにくいからまとめて書いておこうかな。

 

配列.push(" ")  末尾に追加
配列.unshif(" ") 先頭に追加
配列 << " "   末尾に追加

 

配列.pop    末尾から削除
配列.shift    先頭から削除

 

で、最後に配列の引き算も面白い

 

menu = [" カフェラテ "モカ "" コーヒー "エスプレッソ "]
ordered = [エスプレッソ "" カフェラテ "]
p not_ordered = menu - ordered

#[" モカ ", " コーヒー "]

 

配列menuから配列orderedを引いて、not_orderedに代入してるんだけど配列orderedの中の要素(この場合だとエスプレッソとカフェラテ)が引かれてコーヒーとモカになっちゃうって感じだね。

 

とりあえず今日はこんな感じで!のんびりしてたら時間がなくなってきたよ!

後半駆け足になってしまったので時間配分は大事ですね…

 

次回はeach doの振り返りをしたいと思いますっ。

 

Ruby面白いねっ!!