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

More than 1 year has passed since last update.

【Ruby】特異メソッドについて

Posted at

特異メソッドについて

class C
  class << C
    def hoge
      'Hi'
    end
  end

  def hoge
    'Goodbye'
  end
end

p C.new.hoge
"Goodbye"

このように表示される。

p C.new.hoge

上記の記述では、インスタンスを作成してその中のメソッドを呼び出ししているため"Goodbye"と表示される。

特異メソッドの宣言方法

特異メソッドの宣言方法には2つあるらしい。

## 1つめ
  class << C
    def hoge
      'Hi'
    end
  end

## 2つめ
  def C.hoge
    'Hi'
  end

このように2つの宣言方法があるらしい。

そしてこの特異メソッドを呼び出したい時は、p C.hogeというようにすればいい。
そうするとHiと表示される。

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