前提・実現したいこと
ProgateのRubyⅣ「インスタンスメソッド」の演習で、"料理名と値段が表示されます"と出力する際、解答はreturnを使用して書いているが、戻り値を返さずputsを使用しても同じ文字列が出力される。なぜこの場合returnを使用する必要があるのかわかりません。
該当のソースコード
Ruby ```⭐︎以下の場合、なぜ戻り値を返すためのreturnを使うのか? class Menu attr_accessor :name attr_accessor :price def info return "料理名と値段が表示されます" end end menu1 = Menu.new menu1.name = "ピザ" menu1.price = 800 puts menu1.info ↓ 【以下の書き方でも同じ文字列"料理名と値段が表示されます"が出力される】 class Menu attr_accessor :name attr_accessor :price def info puts "料理名と値段が表示されます" end end menu1 = Menu.new menu1.name = "ピザ" menu1.price = 800 menu1.info こちらでも出力されるのは ”料理名と値段が表示されます” だったので、なぜこの場合戻り値を返すのかがわからないです。 また、初歩的な質問ですが、 メソッドを呼び出す際は「インスタンス.メソッド名」で記載するためputsを使用しないのに対し、returnで戻り値を返す際は、出力の際、putsを使用する この認識は合っていますでしょうか。 ご回答の程よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/10 09:02