37421


rubyでメソッドの引数を可変長引数(*変数名)で定義して、それに対して二次元配列を渡しているのですが、nilが返ってきてうまくいきません。  
二次元配列をそのままメソッドに投げたい時はどういう方法がいいのか知りたいです。

### 追記

ソースコードです

[code]

    def calc(*array)
        puts "array"
    end
    
    array = [[01,10,11],[02,20,21]]
    calc(array)
    
[/code]


CC BY-SA 3.0
2017-08-22T03:58:37.520
37393
2017-08-23T12:31:59.383
2017-08-23T01:38:37.880
19110
24986
question
ruby
rubyでの配列の引数の渡し方


calcからnilが返ってくるのはputsの戻り値が返ってきてるだけですよ。

ruby は明示的にreturnを書く必要がありません。が、その時、返されるのは最後に評価した結果です。  
なので、配列を返してあげたいのであればmethodの最後に配列を使ってあげれば良いだけです。

[code]

    array = [[01,10,11],[02,20,21]]
    def calc(*array)
      array.each{ |a| p a }
      array
    end
    calc(*array)
    
[/code]

イマイチ、nilが返ってくるのが問題なのか、calc内でarrayを使えてないのが問題なのか分かりませんが、上記のようなcodeで所望の動きは得られますか？

* * *

ちょっとcode変えました。こっちの方が分かりやすいかな？


CC BY-SA 3.0
2017-08-23T00:24:58.650
37421
2017-08-23T12:31:59.383
2017-08-23T12:31:59.383
2383
2383
37393
answer