配列メソッド2
push, pop, lastのふるまいをみてみましょ。ややこしくなってきた。
- pushとpop
- "+"と "-"のように互いにoppositeな意味を持つペアのメソッドといえますね
- pushはオブジェクトの順番に配列の最後尾に追加する
- popは最後尾の要素となるオブジェクトを取り除きそれを返す
- last
- 配列の末尾の要素を返します。popと違うところは「ただ返すのみ(last)か、一度返したら除かれる(pop)かどうか
参考:array-リファレンス
ふるまい1
songs =[] songs.push'カンパネルラ' songs.push'なんだい、ジョバンニ' puts songs [0] puts songs.pop puts songs.push puts songs.length puts puts songs.last puts songs puts songs.length
ううーん まだしっくりのみ込めない感じ。
moomin:programmingRuby tomomi$ ruby array.rb moomin:programmingRuby tomomi$ ruby array.rb カンパネルラ なんだい、ジョバンニ カンパネルラ 1 カンパネルラ カンパネルラ 1
ふるまい2
fig =[0, 1, 2, 3, 4] puts fig puts fig.pop puts fig.push puts fig.push[2, 3] puts fig.push 3 puts fig.length puts puts fig.last(0) puts fig.last(1) puts fig.last(2) puts fig.last(3) puts fig.last(4) puts fig.length
ややこしなー。7行目の "puts fig.push3"の表記を怒られている。
moomin:programmingRuby tomomi$ ruby array.rb array.rb:7: warning: parenthesize argument(s) for future version 0 1 2 3 4 4 0 1 2 3 2 3 0 1 2 3 3 5 3 3 3 2 3 3 1 2 3 3 5
- "puts fig" が1行ずつ返されたので "puts fig.chomp"を試してみたら怒られた
- [1,2,3,4]で返したい場合は先の.join を使うのかも
まだpush, popのふるまい方がしっくり理解できていない。lastはわかった。