Scala流逐渐摆脱VAR
我正在尝试通过从当前日期开始一个月来生成无限的日期列表,我想使用流进行此操作。
这是我到目前为止所做的:
import org.joda.time.LocalDate
var date = new LocalDate("2022-05-24")
val dateSeq = Seq(date)
val allDates = dateSeq.toStream ++ Stream.continually(dateSeq)
.flatMap(ticks => ticks.map(_ => {
date = date.minusMonths(1)
date
}))
allDates.take(5).toList
我的问题是,我使用var每次将当前日期降低一个月。
有什么方法可以摆脱var
?
I'm trying to generate an infinite list of dates by substracting one month from the current date, i want to do this using Streams.
Here's what i've done so far :
import org.joda.time.LocalDate
var date = new LocalDate("2022-05-24")
val dateSeq = Seq(date)
val allDates = dateSeq.toStream ++ Stream.continually(dateSeq)
.flatMap(ticks => ticks.map(_ => {
date = date.minusMonths(1)
date
}))
allDates.take(5).toList
My problem is that im using a var to decrement the current date by a month each time.
Is there any way to get rid of that var
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您只需要
。术语
而不是。
You just want
.iterate
rather than.continually
:使用@luis MiguelMejíaSuárez解决方案:
Using @Luis Miguel Mejía Suárez solution: