斯卡拉。 foreach 在一个元素中的日期列表

Scala. foreach in one element Lists of Dates

我想创建一个在单个日期或一段时间内有效的函数。为此,我制作了一个字符串列表,如下所示:

import com.github.nscala_time.time.Imports._
val fromDate = "2015-10-15".toLocalDate
val toDate = "2015-10-15".toLocalDate
val days = Iterator.iterate(fromDate)(_ + 1.day).takeWhile(_ <= toDate).map(_.toString)

现在我想访问天内容:

scala> days.foreach(println)
2015-10-15

scala> days.foreach(day => println(day))

对于第一个 foreach,我得到了 days 列表中的唯一元素,但是对于第二个,我什么也得不到。这只是一个示例,但我需要使用第二种形式,因为我需要在函数内部使用日值。

如果我使用一个范围,这两种方法都可以正常工作...

有人知道为什么会出现这种行为吗?

提前致谢!

P.D。我不想使用其他方法来创建字符串列表(除非我找不到解决方案)

第二个函数的工作方式与第一个相同。

您已经创建了 Iterator 对象,您只能迭代一次。

为了能够多次使用它,只需将迭代器转换为列表即可。

val daysL = days.toList