2016-03-22 18 views
0

配列の配列を受け取る関数を定義しました。私はすべての配列の合計を取得したい。私の質問は、その合計を作る方法です。配列に含まれる配列のスカラー合計

def suma[T](args: WrappedArray[T]*)(implicit n: Numeric[T]) = { 
    args.transpose.map(_.sum) 
} 
def sum[T](arr: WrappedArray[WrappedArray[T]])(implicit n: Numeric[T]) = { 
    val result = suma(______) 
} 

コンテナ配列の内容を渡す方法ではなく、定義された「合計」を使用すると思いました。これを行うもっと簡単な方法があるように。何か案は?

答えて

2

でない「すべての配列の合計」を取得するには、.transposeではありません。 args.flatten.sumとする必要があります。

また、関数をvargargsで呼び出す方法を尋ねていますか?そのためには、スプラット演算子が必要です。 val result = suma(arr:_*)