1. ホーム
  2. ruby

[解決済み] Ruby: selfを拡張する

2022-05-17 02:56:59

質問

Rubyでは、基本的な考え方である extend . しかし、このコードのセグメントでは何が起こっているのでしょうか?具体的には extend は何をしているのでしょうか?インスタンスメソッドをクラスメソッドにするための便利な方法というだけでしょうか?最初からクラスメソッドを指定するのではなく、なぜこのような方法をとるのでしょうか?

module Rake
  include Test::Unit::Assertions

  def run_tests # etc.
  end

  # what does the next line do?
  extend self
end

どのように解決するのですか?

インスタンスメソッドをクラスメソッドにするのは便利な方法です。しかし、これを より効率的なシングルトン .