本文へスキップ
BecomeCoder

Rubyコース · 第3章 配列 · レッスン13

追加と削除 ― push・`<<`・pop

ブラウザで完結

導入

配列は作ったあとから要素を追加したり削除したりできます。買い物リストに商品を足したり、買い終わったものを消したりするイメージです。

説明

末尾に要素を追加するには .push または << を使います。

fruits = ["りんご", "バナナ"]
fruits.push("ぶどう")
fruits << "みかん"
puts fruits.inspect

fruits.pop
puts fruits.inspect

fruits.shift
puts fruits.inspect
  • .push(値)<< はどちらも配列の末尾に要素を追加します。<< のほうが短く書けるのでよく使われます。
  • .pop は末尾の要素を1つ取り除きます。
  • .shift先頭の要素を1つ取り除きます(先頭に追加するのは .unshift)。

これらのメソッドは呼び出した配列そのものを変更します(破壊的メソッドと呼ばれます)。

やってみよう

push<<popshift をいろいろ組み合わせて、配列の中身がどう変わっていくか puts fruits.inspect で確かめましょう。

演習

配列 nums = [1, 2, 3]<< を使って 4 を追加し、.inspect で表示してください([1, 2, 3, 4])。

ヒント1を見る

nums << 4 のあと puts nums.inspect と書きます。

ヒント2を見る

.inspect は配列の中身をまとめて文字列にします。

実際に動かしてみよう

下のエディタにRubyを書いて「実行」を押すと、学習用シミュレータが puts / print / p の出力を表示します(本物のRubyではなく、教材の範囲を再現した軽量な自作エンジンです)。配列・ハッシュ・ブロック(each/map/select)・メソッド・クラス・モジュール・例外なども動きます。本文の例を書き換えて動かしてみましょう(gem・Rails・ファイル入出力など一部の機能は対象外です。文字列を伸ばすときは str << も可能ですが、変数に反映されるのは str += です)。

Ruby — ブラウザ内で実行(学習用シミュレータ)

Rubyの教材サブセットを動かす学習用シミュレータを読み込みます(本物のRubyではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。