gpt4 book ai didi

ruby - Class.new.new 创建了什么

转载 作者:数据小太阳 更新时间:2023-10-29 07:44:10 26 4
gpt4 key购买 nike

Class.new.new
# => #<#<Class:0x44f3a2>:0xd7244e>

我很想知道创建了什么。它是对象的对象吗?任何技术解释将不胜感激。

最佳答案

Class.new你正在创建一个新类。事实上,您不仅可以通过通用语法创建类:

class Bird
def is
"word"
end
end

但您也可以使用 Class::new像这样:

Bird = Class.new do
def is
"word"
end
end

在上面的例子中你可以运行Bird.new.is它将返回 "word"就像第一个例子一样。创建匿名类或可以随意重命名的类很有用。在你的情况下:

Class.new.new

只需调用 Class.new您正在创建一个没有自定义方法或实例变量的新匿名类,稍后将通过第二个 new 对其进行实例化方法。

关于ruby - Class.new.new 创建了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18466119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com