期待結果
この結果が得られるメソッドの定義について
clever_print(["Ruby"], "the", ["Programming", "Language"])
=> Ruby the Programming Language
clever_print(["Agile", "Web", "Development"], "with", { :Rails => 3.0 })
=> Agile Web Development with Rails 3.0
問題原典-ミニツクより
模範回答コードより生じたエラー・下自作コードの場合
ruby
1Main.rb:8:in `block in clever_print': undefined method `to_a' for "the":String (NoMethodError)
ruby
1Ruby the Programming Language 2Agile Web Development with {:Rails=>3.0}
模範回答コード
ruby
1def clever_print(*args) 2 converted = [] 3 args.each { |arg| converted << arg.to_a } 4 puts converted.join(" ") 5end
### 自作コード
ruby
1def clever_print(*num) 2 array = [] 3 array << num.to_a 4 puts array.join(" ") 5end
試したこと
メソッドより受け取った引数を配列に直した上で、配列の要素として出力すればto_aメソッドはレシーバ自身を返す為に、期待結果に至るだろうと予想。
残念ながらハッシュは外れなかった為、ミニツクサイトにあった模範回答コードを試してみることに。
すると模範回答コードがエラーを吐き出してはありませんか・・
打つ手がなくなり質問に至ります。
補足情報(FW/ツールのバージョンなど)
実行環境はpaiza.io こちらです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/15 11:29
2018/07/15 12:15