読者です 読者をやめる 読者になる 読者になる

メソッド引数2

Ruby 練習
def smile number_of_smiles
  puts 'ニヤリ' * number_of_smiles
end

smile *3
puts 'ニコリ'

smile *3 の書き方は、tomomii さんが意図しないメソッドの呼び出しになってしまってます。
この方法で書くと、後に意図しないエラーで悩まされる事になると思います。
smile 3 が正しい書き方ですね。

ありがとうございますー!先におこなった作成したメソッドを引数を使ったプログラムの修正をおこなう。

修正したもの

def smile number_of_smiles
  puts 'ニヤリ' * number_of_smiles
end

smile 3
puts 'ニコリ'
moomin:programmingRuby tomomi$ ruby method.rb
ニヤリニヤリニヤリ
ニコリ
修正前
def smile number_of_smiles
  puts 'ニヤリ' * number_of_smiles
end

smile *3
puts 'ニコリ'

_viっくりだ。このようにまだシンプルなプログラムだと実行結果は同じです。しかし "*"付きで引数を書くプログラムを変に覚えて後から苦労することになると大変。今の時点でお教えいただいて大感謝です。

moomin:programmingRuby tomomi$ ruby method.rb
ニヤリニヤリニヤリ
ニコリ