gpt4 book ai didi

ruby - 在 Ruby 中调用另一个类中的一个类中的方法

转载 作者:数据小太阳 更新时间:2023-10-29 06:53:12 24 4
gpt4 key购买 nike

我想知道如何在另一个类的一个类的实例中调用一个方法。

这是我想出来的

class ClassA
def method
return "This is a method_from_class_A"
end
end

class ClassB
def initialize
@method_from_class_A=instance.method
end
def method_calls_method
@method_from_class_A
end
end


instance=ClassA.new

instance2=ClassB.new

puts instance2.method_calls_method

但是我得到这个错误:

Testing.rb:9:in initialize': undefined local variable or method
instance' for # (NameError) from Testing.rb:19:in new' from Testing.rb:19:in'

我该如何解决?

感谢您的回复。

最佳答案

根据您的描述,这似乎是您想要的:

class ClassB
def initialize
@instance_of_class_a = ClassA.new
end

def method_calls_method
@instance_of_class_a.method
end
end

或者传入 ClassA 实例(这称为依赖注入(inject)):

class ClassB
def initialize(class_a_instance)
@instance_of_class_a = class_a_instance
end

def method_calls_method
@instance_of_class_a.method
end
end

instance_a = ClassA.new
instance_b = ClassB.new(instance_a)
puts instance_b.method_calls_method

关于ruby - 在 Ruby 中调用另一个类中的一个类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31360945/

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