所以我在Try F#上有这2个文件.唯一的区别(我可以看到)是变量名称.它们都是3行代码.它们现在托管在Try F#上
http://www.tryfsharp.org/create/zadkielmodeler/file1.fsx
http://www.tryfsharp.org/create/zadkielmodeler/file2.fsx
文件1工作,文件2不工作.
我正在努力将我的大脑包裹起来.我在个人项目的代码中尝试了类似的情况.
let x1Points = [0..2..100]
|> List.map (fun x-> x * x)
Run Code Online (Sandbox Code Playgroud)
这会在我的测试文件中产生相同的错误(file2)在第一行
"Incomplete Value or function definition."
Run Code Online (Sandbox Code Playgroud)
在第二行代码中它说:
Unexpected infix operator in binding
Run Code Online (Sandbox Code Playgroud)
老实说,我不知道这意味着什么.无论如何,如果我能理解为什么它会在测试文件中给我这个错误,我可以更好地理解我的真实项目.所以请帮助我理解为什么我在file2中收到此错误,但不是file1.
简单的缩进问题.使用名称x
将下部管道代码与标识符名称的末尾对齐.使用xpoints
导致较低的管道代码"越位".只需调整到
let xpoints =[0..100]
|> List.filter (fun xpoints -> xpoints % 2 = 0)
|> List.map (fun xpoints -> xpoints * 2)
Run Code Online (Sandbox Code Playgroud)
或者更好(这是我所说的"标准"风格)
let xpoints =
[0..100]
|> List.filter (fun xpoints -> xpoints % 2 = 0)
|> List.map (fun xpoints -> xpoints * 2)
Run Code Online (Sandbox Code Playgroud)