gpt4 book ai didi

ruby - 当我开始上课时传递 self

转载 作者:太空宇宙 更新时间:2023-11-03 18:26:39 24 4
gpt4 key购买 nike

当我在 B 中调用 A.new 时,有没有办法在不指定的情况下自动获取某些对象?我想将 selfB 自动传递到 A 而无需指定。

class A
initialize object=target-self
end
end


class B
A.new
end

然后,除非我指定另一个类,否则每次我希望默认传递 self 时都不必键入此内容。

 A.new self

最佳答案

这很简单。你所要做的就是写:

class A
def initialize(object = self)
# work with object
end
end

在 Ruby 中,self 总是有一个值。在您提供的示例中,它将评估为 B 类。要使其成为类的实例,只需在初始化期间调用该方法即可:

class B
def initialize
A.new # self is a B instance here
end
end

关于ruby - 当我开始上课时传递 self ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9953511/

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