gpt4 book ai didi

scala - Scala 中的运行总和流

转载 作者:行者123 更新时间:2023-12-04 19:30:57 25 4
gpt4 key购买 nike

这是我上一个问题的后续。
给定函数 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] =
如果 (s.isEmpty) 为空
否则 Stream.cons(s.head, add_streams(s.tail, running_sums(s)))

然而,它看起来并不优雅。

你将如何实现 running_sums

最佳答案

有一个类似这样的库调用,称为 scanLeft

s.scanLeft(0)(_+_).tail

关于scala - Scala 中的运行总和流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8478937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com