Ruby言語で自作したクラスにif文を埋め込んで書くコードの書き方がわかりません。
a が 1の時は、steakを表示して、2 の時は、soup を表示して、それ以外では、toast を表示するというクラスを作ったのですが、エラーになってしまいます。
呼びだすときに条件分岐で使われる数字を引数にしているのですが、それでエラーになっているのでしょうか?
Ruby
1class Restaurant 2 def menu(a) 3 p 'Food menu' 4 end 5 6 def food(b) 7 if a == 1 8 p 'steak' 9 10 elsif a == 2 11 p 'soup' 12 else 13 p 'toast' 14 end 15 end 16end 17 18restaurant = Restaurant.new 19restaurant.menu(1) 20restaurant.food()
これを実行すると、 :6 in 'food': wrong number of aruguments(given 0, expected 1)(ArgumentError) となります。
何処をどう修正したら正常に動作しますか?
<削除線>マルチポストは非推奨です。</削除線>
マルチポストじゃなくて、単に『複数投稿』ですね。
https://teratail.com/questions/344775
質問は編集できますので。
> BeatStarさん
下記の注釈にも書かれていますが、一般に「マルチポスト」は複数のサイトに投稿することを意味します。
https://teratail.com/help#posted-otherservice
また、マルチポスト自体がどんな場合でも非推奨になるのでは無く、しばらく待ったが回答が得られなかったと言った納得できる理由と解決後のアフターフォローがあれば、やっても問題ないとされています。
あなたの指摘は同じteratail上に同じ質問があると言うことであり、下記の「過去に投稿した質問と同じ内容の質問」に該当すると思われます。
https://teratail.com/help/avoid-asking
以前の投稿の編集で済むというのであれば、m.ts10806さんのような指摘で十分です。
「マルチポスト」と「質問の重複」では、その意味や対応方法が全く異なりますので、混同するような指摘は避けた方がよろしいかと思います。
raccyさん
確かにそうですね。ちょっと修正します。
m.ts10806さんへ
編集機能というものがあるんですね。見落としてました。教えてくださりありがとうございます。
こちらの質問だけ残して、もう一つの同じ見出しの質問を削除しようとしたのですが、「削除リクエストを送るための条件を満たしていません。」と表示されてしまい、削除できません。
なので、前の質問は残ったままになってしまっていることについては、ご了承ください。
運営にお問い合わせください。
ただ、
https://teratail.com/help/delete-policy
↑にあるように、回答がついたからではないかな?とも思います。
回答がつくと、削除対象の質問から外れるのですね。覚えておきます。
一応運営にも問い合わせときます。
教えて下さり、ありがとうございました。
回答2件
あなたの回答
tips
プレビュー