エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
rubyで可変長引数を受け取るメソッドに配列で引数を渡す - 動かざることバグの如し
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
rubyで可変長引数を受け取るメソッドに配列で引数を渡す - 動かざることバグの如し
常識すぎるのか、ググってもなかなか出てこなかったのでメモ 可変長引数とは rubyでは仮引数名の頭に「*... 常識すぎるのか、ググってもなかなか出てこなかったのでメモ 可変長引数とは rubyでは仮引数名の頭に「*」をつけると可変長で受け取ることができる。 def myfunc(*args) p args end myfunc(1, "hello", true) # => [1, "hello", true] 問題点 が、ここで配列をそのまま渡したらなんとかなるんじゃね?wとか思ってやってみたが、配列を1変数として受け取ってしまう(よく考えると当然である myfunc([1, "hello", true]) # => [[1, "hello", true]] 解決策 渡す側にも「*」つけたらいけた myfunc(*[1, "hello", true]) # => [1, "hello", true] 発端 そもそもこれを調べる理由として、RailsのActiverecordで Post.all.p