【发布时间】:2014-12-18 02:14:23
【问题描述】:
我在同一个目录中有两个文件 rabbit.rb 和 main01.rb,当我运行 main01.rb 时,我收到此错误消息
`': 未初始化的常量 Rabbit (NameError)
我做错什么了?感谢您的帮助。
兔子.rb
class Rabbit
attr_accessor :name
attr_reader :color, :length_of_ears
def initialize(name: "usachan", color: :white, length_of_ears: 10)
@name = name
@color = color
@length_of_ears = length_of_ears
end
def jump
puts "pyon! pyon!"
end
def pound_steamed_rice_into_rice_cake
puts "pettan! pettan!"
end
def say_name
puts "Hello, I'm #{name}!"
end
end
main01.rb
require_relative "rabbit"
rabbits = []
rabbits.push(Rabbit.new)
rabbits.push(Rabbit.new(name: "pyonkichi"))
rabbits.push(Rabbit.new(name: "inaba", color: :brown, length_of_ears: 7))
rabbits.each do |rabbit|
puts rabbit.name
puts rabbit.color
puts rabbit.length_of_ears
rabbit.say_name
puts ""
end
rabbit[0].name = "wooser"
puts rabbit[0].name
【问题讨论】:
-
我不知道你是怎么得到你的错误消息的。您的代码的最后两行有错字。将
rabbit[0]更改为rabbits[0]。你用的是什么 ruby 版本?