昨天我利用一些空闲时间开始了解F#。我想从打印出100以内所有素数的标准问题入手,这是我想出来的代码...
#light
open System
let mutable divisable = false
let mutable j = 2
for i = 2 to 100 do
j <- 2
while j < i do
if i % j = 0 then divisable <- true
j <- j + 1
if divisable = false then Console.WriteLine(i)
divisable <- false
问题是我感觉我从C/C#的视角来看待这个问题,而没有真正掌握函数式语言方面的特点。
我想知道其他人能够提出什么建议和技巧。我觉得目前网络上好的 F# 内容很少,我最后接触的函数式语言是大约5年前在大学里接触的 HOPE。
Console.WriteLine
不符合 F# 的精神。我建议改用printfn "%i" i
。 - Noldorin