それにかんする:
class Test
class << self
def hi
puts "Hi there"
end
end
頭の中で次のイメージを思いつきました。
Ruby ではすべてがオブジェクトなので、クラス自体は class のオブジェクトですClass
。呼び出すことで、内部から定義class << self
を開き、いくつかのインスタンス メソッドを注入します。は のインスタンスであるため、オブジェクトのインスタンス メソッドを呼び出すのと同じ方法でこれらのメソッドを呼び出すことができます: .Class
Test
Test
Class
Test.hi
以下は、前の文を視覚化するのに役立つ疑似コードです。
class Class
def hi
puts “Hi there”
end
end
Test = Class.new(class Test
end)
Test.hi
私はこれを正しく理解していますか?