我看到至少有两种不同的实现:添加流在斯卡拉
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}
我想最后一个是更有效,因为它是不是递归。
它是正确的吗?你将如何编写这样的功能?