【发布时间】:2016-07-22 09:17:35
【问题描述】:
我做了一个简单的递归函数,并期望它可以工作(但它没有):
open System
open System.Threading
let f =
let r = Random()
let rec d =
printfn "%d" (r.Next())
Thread.Sleep(1000)
d
d
f
在 Intellisense 的帮助下,我最终得到了以下工作功能(但不明白为什么以前的功能不起作用):
open System
open System.Threading
let f : unit =
let r = Random()
let rec d() =
printfn "%d" (r.Next())
Thread.Sleep(1000)
d()
d()
f
那么为什么我需要明确声明unit 和()?
【问题讨论】:
标签: recursion f# functional-programming