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

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

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

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

Q&A

1回答

1485閲覧

発生している問題・エラーメッセージ

rinnnngo

総合スコア0

Ruby

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

0グッド

0クリップ

投稿2020/06/15 03:22

前提・実現したいこと

お忙しい中恐縮ですが、ご教授お願い致します。

Animalクラスの仕様です。
Animalクラス ( animal.rb )
Humanクラスの親となるクラスです。

attr_accessor を使って、名前を格納する変数と年齢を格納する変数を定義してください。(苗字と名前は分けなくてOKです。変数名は自由とします。)
initializeに名前・年齢の情報を格納する引数を設定し、処理内容として名前・年齢の各変数を引数の情報で初期化するようにしてください。引数の名前は自由とします。
say という名前のメソッドを定義してください。このメソッドを実行すると、変数に代入された名前と年齢を使って「○○です。△△歳です。」と画面に puts で表示するように処理を作りましょう。

発生している問題・エラーメッセージ

Traceback (most recent call last):
1: from animal.rb:24:in <main>' animal.rb:11:in say': wrong number of arguments (given 0, expected 2) (ArgumentError)

該当のソースコード

class Animal

attr_accessor :name, :age

def initialize(name, age)
self.name = '田中 太郎'
self.age = 25

end

def say(name, age)
puts "
#{self.name}
です。
#{self.age}
歳です。"
end

end

以下は動作確認のための記述です。確認できたらコメントア

animal = Animal.new('田中 太郎', 25)
animal.say

試したこと

(given 0, expected 2)
2つあるべき変数がないというエラーだと理解しているのですが、
self.name = '田中 太郎'
self.age = 25
これで2つ変数を作っているつもりなので、どう対処してよいかわからなくなってしまいました。

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

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

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

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

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

y_waiwai

2020/06/15 03:33

で、しつもんはなんでしょうか
rinnnngo

2020/06/15 03:44

田中 太郎です。25歳です。 このように反映させるには、どこをどの様に直せばよいのでしょうか
guest

回答1

0

arguments は「変数」ではなく「引数」です。
sayメソッドの定義には引数が2つ定義されていますが、呼び出し側では引数が1つも入っていないので文中のエラーが発生しています。

動作確認コードが正常に動くよう、sayメソッドの定義を修正しましょう。
これが課題なら以前の課題や講義でメソッドとは何ぞや、引数とは何ぞや、ということを学習しているはずです。まずは前のステップに戻って復習しましょう。

投稿2020/06/15 03:41

hope_mucci

総合スコア4447

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問