【发布时间】:2011-12-12 18:20:30
【问题描述】:
这是我上一个问题的后续。
给定函数add_stream(s1:Stream[Int], s2:Stream[Int]):Stream[Int]
我想编码running_sums(s:Stream[Int]):Stream[Int],它返回一个新流:s1, s1 + s2, s1 + s2 + s3, ...
我可以想到下面的实现,但是如果s 为空就行不通
def running_sums(s:Stream[Int]):Stream[Int] = Stream.cons(s.head, add_streams(s.tail, running_sums(s)))
我可以这样修复它:
def running_sums(s:Stream[Int]):Stream[Int] =
if (s.isEmpty) 为空
else Stream.cons(s.head, add_streams(s.tail, running_sums(s)))
但它看起来并不优雅。
您将如何实现running_sums?
【问题讨论】: