Цель состоит в том, чтобы не загрязнять мой
текущий модуль с символами из
импорт.
Обратите внимание, что open Array
не допускается в F # (в отличие от OCaml).
Вы можете использовать сокращения на модулях, но только в глобальном масштабе:
module A = Microsoft.FSharp.Collections.Array
Вместо Microsoft.FSharp.Collections.Array вы можете использовать Array. Итак, ваш код будет:
let numOfEvenIntegersSquaredGreaterThan n =
[|1..100|] |> Array.filter (fun x -> x % 2 = 0)
|> Array.map (fun x -> x * x)
|> Array.filter (fun x -> x > n)
|> Array.length
Если вы хотите повторно использовать один и тот же код для массивов и списков, вы можете использовать модуль Seq
:
let elementsGreaterThan n =
[1..100] |> Seq.filter (fun x -> x > n)