วิธีที่หรูหราที่สุดในการทำให้ฟังก์ชันสกาลาเป็นเวคเตอร์ที่ส่งคืนค่าหลายค่าคืออะไร
ตัวอย่างเช่น สมมติว่าฉันมีฟังก์ชัน:
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)
ความคิดใด ๆ ที่จะได้รับการชื่นชมมาก ขอบคุณ!