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

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

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

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

Q&A

解決済

2回答

2153閲覧

ruby ArgumentError

LukeFukuda

総合スコア81

Ruby

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

1グッド

0クリップ

投稿2016/03/10 08:07

nil
nill
50
50

と表示させたいのですが

:/Users//Documents/q:9:in `initialize': wrong number of arguments (2 for 0) (ArgumentError) from :/Users//Documents/q/:9:in `new' from :/Users//Documents/q/:9:in `<main>'

と表示されてしまいます。
コードは下です

ruby

1def area(x,y)x*y end 2 class Rect 3 4 def initailize(x,y)@x,@y=x,y end 5 attr_reader :x,:y 6 def area()x*y end 7 end 8 area(10,5) 9 Rect.new(10,5).area 10 11
misa👍を押しています

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

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

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

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

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

guest

回答2

0

ベストアンサー

エラーの原因はinitailizeのスペルミスみたいですね。
こんな感じですかね?

ruby

1def area(x,y)x*y end 2 3class Rect 4 def initialize(x,y)@x,@y=x,y end 5 attr_reader :x,:y 6 def area()x*y end 7end 8puts area(10,5) 9puts Rect.new(10,5).area

ただ、これだとnilが出力されないです。

50
50

無理矢理nilを出力させようとするならこんな感じでしょうか。

ruby

1def area(x,y)x*y if x end 2 3class Rect 4 def initialize(x,y)@x,@y=x,y end 5 attr_reader :x,:y 6 def area()x*y if x end 7end 8 9puts area(nil,nil) 10puts Rect.new(nil,nil).area 11puts area(10,5) 12puts Rect.new(10,5).area

投稿2016/03/10 09:13

編集2016/03/10 09:39
masarusan24

総合スコア55

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

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

0

ruby のコーディングチェックツールの rubocop からあまり警告がでないように書き換えてみました。
イメージ説明

実行結果

$ ruby 1.rb nil nil 50 50

投稿2016/03/10 11:45

katoy

総合スコア22324

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問