У меня есть классы DateTime и TimeSpan в Scala (предположим, что операторы <и + работают так, как должны). Я пытаюсь определить функцию «диапазон», которая занимает время запуска / остановки и промежуток времени для перехода. В C # я сделал бы это с выходом, и я думаю, что смогу сделать то же самое в Scala ... за исключением того, что я получаю странную ошибку. </p>
В строке 'yield t' отображается «Неверное начало утверждения».
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
}
}
Глядя на этот код, мне интересно узнать 2 вещи:
1) что я сделал не так?
2) написанный код очень важен (использует var t и т. Д.). Какой более функциональный способ сделать это в Scala достаточно быстрый?
Спасибо!