配列メソッド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はわかった。