前提・実現したいこと
$ ruby main.rb
田中 太郎です。25歳です。
私は電車について考えています。
鈴木 次郎です。30歳です。
私は野球について考えています。
佐藤 花子です。20歳です。
私は映画について考えています。
という文を作りたいです。分かりにくいかと思いますがご回答宜しくお願い致します。
発生している問題・エラーメッセージ
animal.rbで書いたものが上に出てきてしまい、実現したい文書が作れない。
具体的には
田中 太郎です。25歳です
鈴木 次郎です。30歳です
佐藤 花子です。20歳です
田中 太郎です。25歳です
私は電車について考えています。
鈴木 次郎です。30歳です
私は野球について考えています。
佐藤 花子です。20歳です
私は映画について考えていま
となります
### 該当のソースコード rubyです **ここから下は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 tanaka=Animal.new("田中 太郎",25) tanaka.say suzuki=Animal.new("鈴木 次郎",30) suzuki.say sato=Animal.new("佐藤 花子" ,20) sato.say **ここから下はthinkable.rb** module Thinkable def think puts "私は#{self.hobby}について考えています。" end end **ここから下はhuman.rb** require './thinkable' require './animal' 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" tanaka = Human.new("田中 太郎", 25, "電車") tanaka.say tanaka.think suzuki = Human.new("鈴木 次郎", 30, "野球") suzuki.say suzuki.think sato = Human.new("佐藤 花子", 20, "映画") sato.say sato.think ### 試したこと googleにて調べたり、要所要所を書き換えてみた ### 補足情報(FW/ツールのバージョンなど)
さっとプログラムを拝見した程度で少し申し訳ないのですが、気になった点を指摘させてください。
「animal.rb」ファイルの最後に「new」でAnimalオブジェクトを生成して、更に「say」を実行しているのは何のためでしょうか? この記述があることが原因のような気がしています。
コードやエラーはマークダウンのcode機能を利用してご提示ください。
https://teratail.com/questions/238564
回答1件
あなたの回答
tips
プレビュー