かなり初心者の質問:DateTimeを指定すると、前の非週末の日付をF#
にしたいと思います。私はこのように作成しました:F#の前回の作業日
open System
module Date =
let isWeekEnd (date:DateTime) =
((date.DayOfWeek = DayOfWeek.Saturday) || (date.DayOfWeek = DayOfWeek.Sunday))
let getPreviousWorkDay date =
while isWeekEnd date do
let date = date.AddDays -1.0
date
しかし、私は日付が不変であるという事実に違反しているようです。したがって、私はwhileループでこれをどうやってやっているのだろうかと思っています。なぜなら、シーケンスを3日まで取り戻し、それをフィルタリングして非週末のものをフィルタリングし、最後に最初のものを取り除くのです...
は素晴らしいと思われます。不変の属性はトリックを作り、これをテストします! –
が働いていれば、(私が使用している)反復関数を修正する自由をとりました。それ以外の場合は、現在の日付を与えただけです。 –