wvogel日記

自分用の技術備忘録が多めです.

F#に慣れる

F#に慣れていきましょう。
というわけで・
project euler 第一問

let euler1 x = if x%3 = 0 || x%5=0 then x else 0

let answer = List.sum [for i in [1..999] -> euler1 i]

answer |> printfn "%A"

答えは、233168.
あってますかね?
では無名関数を使って書きなおす。

let answer =List.sum [for i in [1..999]
                   -> (fun x -> if x%3 = 0 || x%5=0
                                  then x else 0) i]

answer |> printfn "%A"