0
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?

Ruby 特異メソッドについて

Posted at

はじめに

※以下の内容には誤りが含まれる可能性があります

特異メソッドとは何か

Rubyにおける特異メソッドは、特定のオブジェクトだけが持つ独自のメソッドです。

要するに、そのメソッドは定義したオブジェクトに対してのみ使用可能で、他のオブジェクトでは使用できないということです。

特異メソッドの書き方

str = "hello"
def str.greet
  puts"Hello,world!"
end

str.greet #=> Hello,world!

ここで"greet"メソッドは"str"オブジェクトに対してのみ定義されているので他の文字列オブジェクトではこのメソッドは使用できません。

まとめ

Rubyの特異メソッドは強力なツール。

ですが使用には慎重になるべきです。

特異メソッドは定義したオブジェクトに対してのみ存在し、他の同じクラスのオブジェクトには影響を与えない。

つまり、同じクラスの異なるオブジェクトに対して同じ動作を
期待する場合、それぞれのオブジェクトに対して特異メソッドを定義する必要があります。

こうなると、コードの量が増え、保守性が下がる可能性があるため注意が必要です。

0
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
0
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?