gpt4 book ai didi

ruby - 在 Ruby 中对多个文件使用继承

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

我是 Ruby 新手。我对在 Ruby 中使用继承有疑问。

我在名为 Doggy.rb 的文件中有一个名为 Doggy 的类

class Doggy
def bark
puts "Vicky is barking"
end
end

我在另一个名为 puppy.rb 的文件中编写了另一个名为 Puppy 的类

class Puppy < Doggy
end

puts Doggy.new.bark

我收到这个错误:

Puppy.rb:1:in `<main>': uninitialized constant Doggy (NameError)

是否必须将这些类(Doggy 和 Puppy)放在一个文件中?

已编辑

根据建议,我已尝试使用 require 和 require_relative,如图所示,但我仍然低于错误

Puppy.rb:1:in `<main>': uninitialized constant Doggy (NameError)

class Puppy < Doggy
end
require_relative 'Doggy.rb'
puts Doggy.new.bark

最佳答案

要在puppy.rb 文件中完成的更改
假设这两个文件都在同一个目录中,您需要按以下方式获取该文件:

小狗.rb

class Doggy
def bark
puts "Vicky is barking"
end
end

小狗.rb

require File.expand_path('../doggy.rb', __FILE__)
class Puppy < Doggy
end

puts Doggy.new.bark

关于ruby - 在 Ruby 中对多个文件使用继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12337625/

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