0

私はスカラの旅を始めたばかりです。私は、この方法で一定期間毎日繰り返すことを可能にする暗黙の変換を定義しようとしています:

for (day <- firstDay until lastDay) {
  // a lot of interesting code goes here
}

これまでになんとかできたことは、次のようなものです。

implicit class DateTimeWithUntil(from: DateTime) {
  def until(to: DateTime): Stream[DateTime] =
    from #:: from.plusDays(1)
}

untilメソッドを実装する方法は何ですか? ストリームはこれに適していますか? それともIteratorかSeqか?それとも他の?

ありがとう

4

1 に答える 1

2

私はあなたがこのようなものを探していると思います:

import org.joda.time._

implicit class DateTimeOps (startDt: DateTime) {
  def until(endDt: DateTime) = for(dayNo <- 0 until Days.daysBetween(startDt, endDt).getDays) yield(startDt.plusDays(dayNo))
}

for(day <- new DateTime() until new DateTime().plusDays(10)) println (day)

それが役に立てば幸い。

于 2013-10-18T14:13:35.423 に答える