我看到至少有兩種不同的實現:添加流在斯卡拉
def add_streams(s1:Stream[Int], s2:Stream[Int]): Stream[Int] = Stream.cons(s1.head + s2.head, add_stream(s1.tail, s2.tail))
def add_streams(s1:Stream[Int], s2:Stream[Int]) = (s1 zip s2) map {case (x,y) => x + y}
我想最後一個是更有效,因爲它是不是遞歸。
它是正確的嗎?你將如何編寫這樣的功能?