Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Numeric::dup()メソッドの使い方

dupメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

dupメソッドは、オブジェクトの複製を作成するメソッドです。通常、Rubyではオブジェクトの「浅いコピー」を生成するために使用されます。しかし、このdupメソッドが属するNumericクラスのオブジェクト、具体的には整数(Integer)や浮動小数点数(Float)などは、「不変(イミュータブル)」という特性を持っています。

不変とは、一度作成されたオブジェクトの値が後から変更されることがない性質を指します。例えば、数値の「10」は常に「10」であり、その値が変化することはありません。そのため、Numericオブジェクトに対してdupメソッドを呼び出しても、新しい異なるオブジェクトが作成されることはなく、常に元のオブジェクト自身が返されます。

これは、不変なオブジェクトを複製しても、元のオブジェクトと全く同じ値を持ち、かつ変更もできない別のオブジェクトを作成する実用的な意味がないためです。Rubyはこのような特性を持つオブジェクトに対して、無駄なメモリ消費や処理を避けるように設計されています。したがって、Numericクラスのオブジェクトにおいてdupメソッドを明示的に使用する場面はほとんどありません。

構文(syntax)

11.dup

引数(parameters)

引数なし

引数はありません

戻り値(return)

Numeric

Numericクラスのdupメソッドは、レシーバ(メソッドを呼び出したオブジェクト)の複製を返します。これは、基本的にはレシーバ自身と同じ値を持つ新しいNumericオブジェクトです。

関連コンテンツ

関連プログラミング言語