加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Ruby中使用多个文件的继承

发布时间:2020-12-17 04:00:28 所属栏目:百科 来源:网络整理
导读:我是 Ruby的新手.我有一个关于在 Ruby中使用Inheritence的问题. 我在名为Doggy.rb的文件中有一个名为Doggy的类 class Doggy def bark puts "Vicky is barking" endend 我在另一个名为puppy.rb的文件中编写了另一个名为Puppy的类 class Puppy Doggyendputs Do
我是 Ruby的新手.我有一个关于在 Ruby中使用Inheritence的问题.

我在名为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中进行的更改需要以下列方式处理该文件.假设您有两个文件都在同一目录中.

doggy.rb

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

puppy.rb

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

puts Doggy.new.bark

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读