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

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

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

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

Q&A

解決済

1回答

1213閲覧

Ruby のクラスとメソッドを使った練習問題について

oshin

総合スコア1

Ruby

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

0グッド

0クリップ

投稿2021/05/28 01:01

編集2021/05/28 01:50

前提・実現したいこと

Rubyで練習問題を解いているのですが、自分の思った通りにコードを書くと

main%

というエラーが出てしまうので解決したいと思っています。

問題内容

①下記仕様の関数を実装してください。

・関数名は「kasan」とする。
【メソッド kasan の仕様】

・メソッド「kasan」は、1つの引数(配列)を受け取る。

・メソッド「kasan」は、引数で受け取った配列の値の合計値を返す。
※ただし、値が 0 未満の数値は加えず、数値が 0 以上の場合のみ合計値に加える。

②下記のクラスを実装してください。

・クラス名は「SimpleClass」とする。

・SimpleClass クラスは、①で作成した仕様と同様の「kasan」メソッドを持つ。

・SimpleClass クラスは、「display」メソッドを持つ。
【メソッド display の仕様】

・メソッド「display」は1つの引数を受け取る。

・メソッド「display」は、「合計値は〇〇です。」と表示する。
※○○は、引数で受け取った値

③下記仕様を実装してください。

・5つの値を持つ配列 a を作成する。a の値は「1,2,-1,2,3」とする。

・問題②で作成した SimpleClass の kasan メソッドを利用して、a の合計値の値を持つ、変数 b
を作成してください。

・問題②で作成した SimpleClass の display メソッドを利用して、「合計値は 8 です。」と表示し
てください。

実際に書いてみたソースコード

Ruby

1class SimpleClass 2 3 def kasan(array) 4 a.each do |i| 5 if i >= 0 6 b = 0 + i 7 end 8 end 9 end 10 11 def display(b) 12 put "合計値は'#{b}'です。" 13 end 14 15end 16 17a = [1,2,-1,2,3] 18display 19

しかし、これをターミナル上で実行してみたところ

main%

というエラーが出てしまいうまく行きません。
①〜③の仕様通りの動きをするためには、どのようにコードを修正すれば良いでしょうか?

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

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

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

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

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

m.ts10806

2021/05/28 01:13

項目タイトルと内容が合ってないように見受けられます 試したこと ①正しいソースコード ②どこが間違えているか ちなみに1をそのまま押すのでしたら質問ではなく作業依頼です。 それに「うまくいかない」だけでは現状何が問題なのか分かりません。 また、「練習問題」とはどこのものですか?出題者に聞いたり、どこかに解答があるものでは?
K_3578

2021/05/28 01:38

使用通り→仕様通り まずエラーの意味を理解出来てるのかな
Zuishin

2021/05/28 02:15

クラスを作っただけで使ってないし、main オブジェクトの display メソッドを出力してるし。
guest

回答1

0

ベストアンサー

Ruby

1class SimpleClass 2 3 def kasan(array) 4 # b = 0 がここに必要 5 a.each do |i| # a ? 6 if i >= 0 7 b = 0 + i # bにiを代入しているだけ、合計になっていない 8 end 9 end 10 end 11 12 def display(b) 13 put "合計値は'#{b}'です。" # put ? 14 end 15 16end 17 18a = [1,2,-1,2,3] # ここは指示通りできている 19# ↓ が抜けている 20# SimpleClass の kasan メソッドを利用して、a の合計値の値を持つ、変数 bを作成してください。 21display # "SimpleClassの" displayメソッドを使えていない。あと引数がない

練習問題とやらが載っている教材をよく読んでください。

投稿2021/05/28 02:24

ozwk

総合スコア13532

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

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

oshin

2021/05/28 05:39

解説も入れて頂きありがとうございました 無事解決できました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問