我不明白Sheep = Class.new下面这段代码中的部分.
module Fence
Sheep = Class.new do
def speak
"Bah."
end
end
end
def call_sheep
Fence::Sheep.new.speak
end
Run Code Online (Sandbox Code Playgroud)
到底是做什么的?
Ste*_*fan 10
根据文件, Class.new
使用给定的超类创建一个新的匿名(未命名)类(或者
Object如果没有给出参数).
此外,
您可以通过将类对象赋值给常量来为类赋予名称.
Sheep 是那个常数,所以你的代码相当于:
module Fence
class Sheep
def speak
"Bah."
end
end
end
Run Code Online (Sandbox Code Playgroud)