小编Tya*_*yam的帖子

无法在 F# 中使用 let 关键字定义递归方法

我正在用 VS 学习 F#。

你能告诉我为什么编译器用下面的代码给我一个错误 FS3118 吗?

sumToN 之前的“let”在线条下用红色标记...

FS3118:不完整的值或函数定义。如果这是在表达式中,则表达式的主体必须缩进与“let”关键字相同的列。

open System
[<EntryPoint>]
let main argv =
   let sumToN n = let rec f s n = if n > 0L then f (s+n) (n-1L) else s in f 0L n
   //let sum = sumToN(5L)
   //do printfn "%i" sum |> ignore
    0
Run Code Online (Sandbox Code Playgroud)

我应该如何更正代码?

recursion f# function let

0
推荐指数
1
解决办法
92
查看次数

标签 统计

f# ×1

function ×1

let ×1

recursion ×1