我想了解class << self
下一个例子中的含义.
module Utility
class Options #:nodoc:
class << self
def parse(args)
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
mač*_*ček 46
module Utility
class Options #:nodoc:
class << self
# we are inside Options's singleton class
def parse(args)
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
module Utility
class Options #:nodoc:
def Options.parse(args)
end
end
end
Run Code Online (Sandbox Code Playgroud)
class A
HELLO = 'world'
def self.foo
puts "class method A::foo, HELLO #{HELLO}"
end
def A.bar
puts "class method A::bar, HELLO #{HELLO}"
end
class << self
HELLO = 'universe'
def zim
puts "class method A::zim, HELLO #{HELLO}"
end
end
end
A.foo
A.bar
A.zim
puts "A::HELLO #{A::HELLO}"
# Output
# class method A::foo, HELLO world
# class method A::bar, HELLO world
# class method A::zim, HELLO universe
# A::HELLO world
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13298 次 |
最近记录: |