If statement 带有参数语法的F if语句函数

If statement 带有参数语法的F if语句函数,if-statement,compilation,f#,If Statement,Compilation,F#,问题是:当错误出现时,我无法找出它所指的是什么 以下是错误: source_file.fs10,5:错误FS0010:绑定中出现意外的关键字“if”。应为“=”或其他标记 我一直在研究这个错误和正确的语法 现在我想做的,我希望,是显而易见的,从总体上看,该计划 知道正确的语法会很好,因为微软的文档并不好 鉴于这种情况,我不明白会出什么问题 open System let one = "one" let two = "two" if oneortwo one then printfn one

问题是:当错误出现时,我无法找出它所指的是什么

以下是错误: source_file.fs10,5:错误FS0010:绑定中出现意外的关键字“if”。应为“=”或其他标记

我一直在研究这个错误和正确的语法

现在我想做的,我希望,是显而易见的,从总体上看,该计划

知道正确的语法会很好,因为微软的文档并不好

鉴于这种情况,我不明白会出什么问题

open System

let one = "one"
let two = "two"

if oneortwo one then printfn one + " 1"
else printfn two + " 2"

let oneortwo(a : string)
    if a = "one" then return true
    elif a = "two" then return false

return false

F是一种基于表达式的语言,这意味着任何东西都有一个值,并返回一些东西。F也是静态类型的,因此返回的所有内容都是特定类型的

因为一切都是表达式,所以不使用return关键字。函数体中的最后一个表达式是返回值

如果。。。然后else:每个分支必须返回一个值,并且类型相同

函数的正确语法是

let oneortwo a =
    if a = "one" then true
    else false

Scott Wlaschin的网站是学习F的一个很好的来源。

F是一种基于表达式的语言,这意味着任何东西都有一个值,并返回一些东西。F也是静态类型的,因此返回的所有内容都是特定类型的

因为一切都是表达式,所以不使用return关键字。函数体中的最后一个表达式是返回值

如果。。。然后else:每个分支必须返回一个值,并且类型相同

函数的正确语法是

let oneortwo a =
    if a = "one" then true
    else false

Scott Wlaschin的网站是学习F的一个很好的来源

啊,我明白了,这个错误让我误入歧途,我甚至从未将函数视为问题。好的,现在它被修复了,我将处理程序中的所有其他错误。谢谢你的快速回复!我只想指出,在这个特殊情况下,函数可以简化为one或two==one:PAh,我明白了,这个错误把我引入歧途,我甚至从来没有把函数看作问题。好的,现在它被修复了,我将处理程序中的所有其他错误。谢谢你的快速回复!我只想指出,在这种特殊情况下,函数可以简化为one或wo==one:P