質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

2回答

1426閲覧

Ruby エラーコード

hazuma

総合スコア20

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2020/10/24 11:25

$ ruby main.rb
Traceback (most recent call last):
2: from main.rb:1:in <main>' 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/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- /human (LoadError)
↑の様なエラーコードが出てしまいます。

(animal.rbファイル)
class Animal

attr_accessor :name, :age

def initialize(name, age)
self.name = name
self.age = age
end

def say
puts "#{self.name}です。#{self.age}歳です。"
end
end
animal = Animal.new('田中 太郎', 25)
animal.say

(thinkable.rbファイル)
module Thinkable
def think
puts "私は#{self.hobby}について考えています。"
end
end

(human.rbファイル)
require './animal'
require './thinkable'

class Human < Animal
attr_accessor :hobby
def initialize(name,age,hobby)
self.name = name
self.age = age
self.hobby = hobby
end

include Thinkable
end

(main.rbファイル)
require "/human"

human= Human.new("田中 太郎", 25, "電車")
human.say
suzuki.think

human = Human.new("鈴木 次郎", 30, "野球")
human.say
human.think

human = Human.new("佐藤 花子", 20, "映画")
human.say
human.think

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

require "/human"

require './human'
もしくは
require_relative 'human'

かと思います。

投稿2020/10/24 11:33

asm

総合スコア15149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hazuma

2020/10/24 11:44

有り難うございます。指摘して頂いた部分を直してみたのですが、 (most recent call last): 5: from main.rb:1:in `<main>' 4: 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' 3: 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' 2: from /home/ec2-user/environment/kadai-ruby-3/human.rb:1:in `<top (required)>' 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/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- ./animal. (LoadError) やはりこの様なエラーコードが出てしまいます。
asm

2020/10/24 17:22

そのエラー表示が正しい場合提示されているスクリプトが間違っておりhuman.rbの1行目が'./animal.'になっている可能性があるので末尾の.を消してやってください
hazuma

2020/10/25 13:07

返信が遅れてしまい申し訳ありませんでした。大変有り難うございました!
guest

0

ベストアンサー

require "/human"

がおかしいです。

require './animal'

require './thinkable'

でエラーが出てないとすると、require "./human"では?

投稿2020/10/24 11:32

編集2020/10/24 11:33
otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hazuma

2020/10/24 11:44

有り難うございます。指摘して頂いた部分を直してみたのですが、 (most recent call last): 5: from main.rb:1:in `<main>' 4: 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' 3: 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' 2: from /home/ec2-user/environment/kadai-ruby-3/human.rb:1:in `<top (required)>' 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/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- ./animal. (LoadError) やはりこの様なエラーコードが出てしまいます。
otn

2020/10/24 12:00

> でエラーが出てないとすると という前提が違っていたわけですね。 カレントディレクトリが想定通りじゃないのでしょう。 ファイルと同じディレクトリにある別のファイルをrequireしたい時は、 require_relative "animal" などです。全部変えましょう。 別途、カレントディレクトリーについて学んでおきましょう。
hazuma

2020/10/25 13:06

返信が遅れて申し訳ありませんでした。 解決いたしました。本当に有り難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問