learning F#, it seems pretty cool, favourite functional language so far.
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415
  1. module Grains
  2. let rec safeSqaure n: uint64 =
  3. if n = 1 then uint64 (1) else uint64 (2) * safeSqaure (n - 1)
  4. let square (n: int): Result<uint64, string> =
  5. if n < 1 || n > 64 then Error "square must be between 1 and 64" else Ok(safeSqaure n)
  6. let total: Result<uint64, string> =
  7. Ok
  8. (List.sumBy (fun x ->
  9. let s = square x
  10. match s with
  11. | Ok (n) -> n
  12. | _ -> uint64 (0)) [ 1 .. 64 ])