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

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

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

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

関数型プログラミング

関数型プログラミングとは、関数を用いて演算子を構築し、算出し、コンピュータプログラムを構成する枠組みです。

Q&A

解決済

3回答

1241閲覧

【Ruby】三角形の公式の関数作成をしたい

taiseii

総合スコア2

Ruby

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

関数型プログラミング

関数型プログラミングとは、関数を用いて演算子を構築し、算出し、コンピュータプログラムを構成する枠組みです。

0グッド

0クリップ

投稿2020/10/24 08:52

編集2020/10/24 09:04

前提・実現したいこと

Rubyで三角形の公式をユーザが指定した「高さ」「底辺」で計算したいです。

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

ユーザの入力自体は受けつけるのですが、関数を呼び出しすところが上手くいっていないように思われます

`triangle_area': wrong number of arguments (given 0, expected 2) (ArgumentError)

該当のソースコード

Ruby

1puts "高さを入力してください" 2height = gets.chomp.to_i 3puts "底辺の長さを入力してください" 4bottom = gets.chomp.to_i 5 6# ここに三角形の面積を求めるメソッドを定義 7def triangle_area(height,bottom) 8 height * bottom / 2 9end 10# 結果を出力 11puts triangle_area

試したこと

最後の行を「puts triangle_area(height,bottom)」などにしましたが上手くいきませんでした。

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

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

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

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

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

gentaro

2020/10/24 08:55

「どこがどのように上手くいっていない」のかぐらいは書こうや。
taiseii

2020/10/24 09:04

申し訳ありません。自分の確認ミスでした。
guest

回答3

0

引数を渡してないだけ。

diff

1puts "高さを入力してください" 2height = gets.chomp.to_i 3puts "底辺の長さを入力してください" 4bottom = gets.chomp.to_i 5 6# ここに三角形の面積を求めるメソッドを定義 7def triangle_area(height,bottom) 8 height * bottom / 2.0 9end 10# 結果を出力 11-puts triangle_area 12+puts triangle_area(height, bottom)

追記:tatsu99さんの指摘箇所を追加

投稿2020/10/24 09:07

編集2020/10/24 09:24
gentaro

総合スコア8947

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

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

tatsu99

2020/10/24 09:20

gentaroさんの回答に加えて height * bottom / 2 を height * bottom / 2.0 にしてください。 height * bottom / 2 の場合、2で割り切れないとき、小数点以下は切り捨てられます。
gentaro

2020/10/24 09:23

あぁ、見落としてました。仰るとおりです。補足ありがとうございます。
guest

0

ベストアンサー

関数を先に定義するか、別ファルで定義して、それを使うようにするのが好ましいです。

ruby

1# ここに三角形の面積を求める 2def triangle_area(height, bottom) 3 height * bottom / 2 4end 5 6puts "高さを入力してください" 7height = gets.chomp.to_i 8puts "底辺の長さを入力してください" 9bottom = gets.chomp.to_i 10 11# 面積を計算 12area = triangle_area(height, bottom) 13# 結果を出力 14puts "三角形の面積は#{area}" 15

実行例:
イメージ説明

投稿2020/10/25 14:47

katoy

総合スコア22324

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

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

0

投稿2020/10/24 08:55

y_waiwai

総合スコア88042

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

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

gentaro

2020/10/24 08:59

質問文に関係ありますかこれ?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問