Rubyよく使用するメソッド一覧

【Ruby rails】配列の順序を逆にするreverseメソッドを徹底解説

Rubyのreverseとreverse!メソッド:配列の要素の順序を逆にする

Rubyで配列を操作する際、特定のシナリオで配列の要素の順序を逆にしたい場合があります。

reverseとreverse!メソッドはこの目的に特化しており、配列の要素の順序を逆にする際に利用されます。

この記事では、これらのメソッドの使い方、違い、および実践的な使用例を詳しく解説します。

reverseメソッドの基本

reverseメソッドは、配列の要素の順序を逆にした新しい配列を返します。このメソッドは元の配列を変更しません。

基本的な使用方法

配列の要素の順序を逆にします。

ソースコード例: reverseメソッドの基本的な使用



この例では、配列の要素が逆順の新しい配列として返されます。

 出力結果
5
4
3
2
1
サルモリ
「reverseメソッドは配列を逆順にするんだね!」
Ruby言語のブロック、イテレータを徹底的に学びたい方は画像をクリックしてご覧ください!
KindleUnlimited会員であれば、全ての本をご覧頂けます。 配列、イテレータ、ブロックを理解すれば、Rubyプログラミングの世界が変わる 第1版

reverse!メソッドの基本

reverse!メソッドも配列の要素の順序を逆にしますが、reverseと異なり元の配列自体を変更します。

このメソッドを使用すると、配列の内容がその場で逆順に変わります。

破壊的な方法で配列を逆順にする

元の配列を直接逆順にします。

ソースコード例: reverse!メソッドの使用



この例では、元の配列が逆順に変更されます。

 出力結果
5
4
3
2
1
サルモリ
「reverse!メソッドは元の配列を変更するんだね。注意が必要だね!」

reverseとreverse!の違い

reverseとreverse!の主な違いは、元の配列を変更するかどうかです。reverseは元の配列を変更せず、新しい配列を返します。一方でreverse!は元の配列を直接変更します。

同じ条件でreverseとreverse!を使った場合

同じ条件でreverseとreverse!を使用した場合の違いを確認します。

ソースコード例: reverseとreverse!の違い



この例では、reverseで作成された新しい配列と、reverse!によって変更された元の配列を比較します。

 出力結果
Reversed array: 5 4 3 2 1
Original array after reverse!: 5 4 3 2 1
サルモリ
「reverse!を使うと元の配列が変わってしまうから、使う時は慎重にね!」

reverseメソッドの応用例

reverseとreverse!メソッドは、単純な数値や文字列の配列だけでなく、オブジェクトを含む複雑な配列にも応用できます。

オブジェクトの配列での使用

オブジェクトを含む配列でのreverse/reverse!メソッドの使用例を見てみましょう。

ソースコード例: オブジェクトの配列でのreverse/reverse!メソッドの使用



この例では、商品の配列の順序が逆になります。

 出力結果
Cherry
Banana
Apple
サルモリ
「オブジェクトの配列でもreverseメソッドが使えるんだね!これは便利だね!」

まとめ

Rubyのreverseとreverse!メソッドは、配列の要素の順序を逆にするためのメソッドです。

これらのメソッドを適切に使用することで、Rubyプログラミングにおける配列操作の幅が広がります。

元の配列を変更するかどうかを理解し、状況に応じて適切なメソッドを選択することが重要です。

最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!

サルモリ
最後まで読んでくれてありがとう!!

こちらもCHECK

【Ruby rails】配列の要素を回転させるrotateメソッドを徹底解説!

Rubyのrotateとrotate!メソッド:配列の要素をローテーションする Rubyで配列を扱う際、配列の要素をローテーション(回転)させることは一般的な操作の一つです。 rotateとrotat ...

続きを見る

-Rubyよく使用するメソッド一覧

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock