对返回多个值的 scala 函数进行矢量化的最优雅方法是什么?
例如,假设我有以下功能:
def Foobar(foo: Int, bar: Int): (Int, Int) = (foo, bar)
如果它返回一个值,我会做这样的事情:
val a = Array(1, 2, 3)
val b = Array(4, 5, 6)
val c = (a,b).zipped.map(foobar)
但由于它返回一个元组,我最终得到一个Array[(Int,Int)]
,而我更喜欢一个(Array[Int], Array[Int])
. 做这样的事情的正确方法是什么?是否有任何巧妙的模式可以将其概括为以下内容:
val c = vectorized(foobar,a,b)
任何想法将不胜感激。谢谢!