gpt4 book ai didi

f# - 定义中出现意外的关键字 'val'

转载 作者:行者123 更新时间:2023-12-02 04:26:16 25 4
gpt4 key购买 nike

学习 F# 作为我类(class)的一部分,可以做一些很酷的事情,但有些事情一直困扰着我,每当我使用 val 关键字时,我都会收到错误。我认为这可能是由于没有在脚本中声明某些内容,但我真的不知道。

module Prime
#light

let nums = [1; 2; 3; 4; 5];;
val nums : list<int>
let rec sum list =
match list with
| h::tail -> (sum tail) + h
| [] -> 0
val sum : list<int> -> int

我得到(第 5 行):

  Error 1   Unexpected keyword 'val' in definition . Expected incomplete structured construct at or before this point or other token

有什么想法吗?

最佳答案

F# 中的 val 关键字(与 ML 中的“val”不同)用于声明类或结构类型中的字段,而不对其进行初始化。

http://msdn.microsoft.com/en-us/library/dd469494.aspx

如果你想在模块中定义可变值,你可以使用

let mutable...

顺便说一句,如果您使用相同名称(例如“nums”)定义值两次或更多次,则编译器的有效值将是范围中最新定义的值。

关于f# - 定义中出现意外的关键字 'val',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26818496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com