4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

学びや気づきの備忘録Advent Calendar 2023

Day 15

【Ruby Gold3.1詰まったシリーズ】配列の添字演算子について

Last updated at Posted at 2023-12-14

はじめに

今回は配列に関する内容です。配列の添字演算子については、GoldではなくSilverの範囲だろうと油断していたら突然試験に出てきて理解があっているか不安になったのでまとめてみます。

確認してみた

環境はruby2.5.3です。
配列[1,2,3,4,5,6,7,8]から[4,5,6]のみを取得する方法として、下記を実行する。

ary = [1,2,3,4,5,6,7,8]
ary[3..-3]
ary[3..5]
ary[3...6]
ary[3...-2]
ary[3,3]

すると、

irb(main):001:0> ary = [1,2,3,4,5,6,7,8]
=> [1, 2, 3, 4, 5, 6, 7, 8]
irb(main):002:0> ary[3..-3]
=> [4, 5, 6]
irb(main):003:0> ary[3..5]
=> [4, 5, 6]
irb(main):004:0> ary[3...6]
=> [4, 5, 6]
irb(main):005:0> ary[3...-2]
=> [4, 5, 6]
irb(main):006:0> ary[3,3]
=> [4, 5, 6]

全ての結果が[4,5,6]となった。
各取得方法の詳細については下記となっています。

ary[3..-3]:3番目から-3番目までの要素(一番最後を-1として最初に近づくにつれて-1される)までを取得する
ary[3..5]:3番目から5番目までの要素を取得する
ary[3...6]:3番目から5番目までの要素を取得する(6番目は含まない)
ary[3...-2]:3番目から-3番目までの要素を取得する(-2番目は含まない)
ary[3,3]:3番目から3個分の要素を取得する

おわりに

確認した結果、添字演算子での添字指定方法は少なくても5パターン存在することが分かりました。各パターンの理解がごちゃごちゃになった時の整理にこちらの記事をご活用いただければ幸いです。誤り等ありましたらご指摘いただけますと助かります!

参考

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?