タイトルの通りなんだけどRailsでparamsを渡したらうまくいかなかったのでまとめてみた. # キーワード引数取るメソッドを定義 [24] pry(main)> def f(a: 1, b: 2) [24] pry(main)* a + b [24] pry(main)* end => nil # キーがシンボルなハッシュはそのまま引数に渡せる [26] pry(main)> h1 = {a: 10, b: 20} => {:a=>10, :b=>20} [27] pry(main)> f(h1) => 30 # キーが文字列なハッシュやHashWithIndifferentAccessはだめ [28] pry(main)> h2 = HashWithIndifferentAccess.new(h1) => {"a"=>10, "b"=>20} [29] pry(main)> f(h2
今回の条件で直接Concatenate2を呼び出した場合 MyArray()は3個の配列で渡されますが Fanc1経由で呼び出された場合のConcatenate2での MyArray()は1個の配列です この1個の配列の中身が配列で渡されます。 なので1個の配列引数を持つ共通的な関数で展開する形にするのが妥当かと ただ、ParamArrayは特殊な配列のようでそのまま他の関数に渡そうとするとエラーになるため別な配列に複写して渡さないと動作しませんでした ただ、共通関数の受取をParamArrayにするとエラーにならないので下記 の2通りの方法を考えました。 Function ComFunc(MyArray As Variant) As String Dim S As String Dim v As Variant Dim c As Variant For Each v In MyArray
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く