【发布时间】:2023-03-14 11:20:01
【问题描述】:
我在 Scala 中有一个 DateTime 和 TimeSpan 类(假设
在 'yield t' 行,我得到“Illegal start of statement”。
def dateRange(from : DateTime, to : DateTime, step : TimeSpan) =
{
// not sure what the list'y way of doing this is
var t = from
while(t < to)
{
yield t; // error: illegal start of statement
t = t + step
}
}
看着这段代码,我很好奇两件事: 1)我做错了什么? 2) 编写的代码非常必要(使用 var t 等)。在 Scala 中,有什么更实用的方法可以相当快地做到这一点?
谢谢!
【问题讨论】:
-
Scala 中的
yield与 C#(或 Python)中的yield没有任何关系。此外,Scala 没有它的等价物——查看有关 Scala、Python、yield 和生成器的许多问题。当然,还要查找有关yield实际作用的问题。 -
我做到了,我很困惑。 Debilski 的回答告诉了我所有我需要知道的。
标签: scala loops yield-return yield-keyword