ruby のモジュール化について
rubyのモジュール化の問題を解いています。
エラー文がなかなか解決できず、解決策がわかる方がいれば、教えて頂きたいです。
ruby main.rbで実行したところ
下記のようなエラー表記となりました。
$ ruby main.rb
Traceback (most recent call last):
3: from main.rb:1:in `<main>'
2: from /home/ec2-user/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
1: from /home/ec2-user/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/home/ec2-user/environment/human.rb:3:in `<top (required)>': uninitialized constant Animal (NameError)
main.rb
require "./human"
# インスタンスの作成
tanaka = Human.new("田中太郎",25,"電車")
suzuki = Human.new("鈴木次郎",30,"野球")
sato = Human.new("佐藤花子",20,"映画")
# メソッドを実行
tanaka.say
tanaka.think
suzuki.say
suzuki.think
sato.say
sato.think
human.rb
require "./thinkable"
class Human < Animal
include Thinkable
#オブジェクトで何の変数を使うか設定する
attr_accessor :hobby
#インスタンスの値を初期化する特別なメソッド
def initialize(name,age,hobby)
self.name = name
self.age = age
self.hobby = hobby
end
end
animal.rb
#クラスの定義
class Animal
#オブジェクトの変数
attr_accessor :name, :age
#メソッド
def say
puts "#{self.name}です。#{self.age}歳です。"
end
end
=begin
def initialize(name,age)
self.name = name
self.age = age
end
=end
=begin
animal = Animal.new('田中太郎', 25)
animal.say
=end
thinkable.rb
#クラスの定義
class Animal
#オブジェクトの変数
attr_accessor :name, :age
#メソッド
def say
puts "#{self.name}です。#{self.age}歳です。"
end
end