はじめに
こんにちは、progateでRubyを勉強したのち「ゼロからわかるRuby超入門」を勉強しています。
本書で配列への追加と削除コマンドを習ったのですが、覚えずら過ぎたので自分なりにまとめてみました。
同じ境遇の方の力になれば幸いです
環境:ruby 3.3.5
それぞれの概要
まずは追加・削除コマンドのそれぞれの概要について説明したのち、整理していこうと思います
push
まず、push
は配列の末尾に要素を追加します。
drinks = ["カフェラテ", "コーヒー"]
drinks.push("紅茶")
p drinks # => ["カフェラテ", "コーヒー", "紅茶"]
unshift
unshift
は、配列の先頭に要素を追加するメソッドです。
drinks = ["カフェラテ", "コーヒー"]
drinks.unshift("紅茶")
p drinks # => ["紅茶", "カフェラテ", "コーヒー"]
pop
pop
は、配列の末尾の要素を削除するメソッドです。
drinks = ["カフェラテ", "コーヒー"]
drinks.pop("コーヒー")
p drinks # => ["カフェラテ"]
shift
shift
は配列の先頭の要素を削除するメソッドです。
drinks = ["カフェラテ", "コーヒー", "紅茶"]
removed = drinks.shift
p removed # => "カフェラテ"
p drinks # => ["コーヒー", "紅茶"]
覚え方
これで追加・削除の方法は理解していただけたと思います。
ただし、これだとpushとunshiftどっちが先頭だったっけ?とかshiftとunshiftどっちが追加だったっけ?などいろいろ忘れてしまうと思います。
まずは追加・削除で分類するのではなく、先頭か末尾で分類しましょう。
push
って後ろから押すイメージがあると思うので文末、同じp
から始まるのでpop
も文末です。
残った2つは先頭系のコマンドであると認識しましょう。
先頭のコマンド
unshift
、shift
は先頭のコマンドですね。
次にこれがどっちがどっちなのかを判別できるようになりましょう。
まず一番単語として聞きなじみがあるのはshift
だと思います。
shift
は英単語で位置を移動するって意味があります。先頭の単語が削除されるので、その空いているスペースをつめる(シフトする)って感じです。
unshift
はその逆で、後ろにシフトしてもらって入れてもらうってイメージです
末尾系
push
、pop
は末尾コマンドですね。
push
は何となくわかると思いますが、後ろから押して(プッシュする)追加するって感じです。
pop
は日本語的な意味でいえば軽い感じのやつって意味があります。末尾かどうかはpush
と同じくpから始まるのでそれで覚えてもらって、pop
は早く(末尾から)でたいと思っていて、ポンっと出て行ってしまう感じですね。
pop
は英単語で破裂とか爆発的な意味もあるのでそれで覚えてもいいかもしれないですね
まとめ
本日は配列への追加(push・unshift)・削除(pop・shift)が覚えずらいというタイトルでしたがイメージわきましたか。
こういうイメージを持っているだけで長期記憶に定着しやすいのですし、私は覚えずらいものは何かしらのとっかかりを見つけて覚えてますw
これを見ているということはrubyを始めて間もない方だと思うので一緒に勉強頑張りましょう。