【发布时间】:2013-05-10 14:21:13
【问题描述】:
我正在使用 FsUnit 在 F# 中编写一些单元测试,我注意到属性和类型成员中的 let 语句有一些奇怪的行为,想知道是否有人可以解释一下?
如果我这样写一个测试:
[<Fact>] member test.
``Test that something works correctly`` () =
let x = 1
x + 2 |> should equal 3
在 Visual Studio 2012 中,'x + 2' 行的第一个字符会出现错误:
表达式中出现意外的关键字“让”或“使用”。预期为“in”或其他标记。
使用 'let ... in' 可以避免这个错误,但如果你想使用多个,让它很快变得混乱:
[<Fact>] member test.
``Test that something works correctly`` () =
let x = 1
in x + 2 |> should equal 3
我最终发现,将属性放在单独的行上也可以绕过错误:
[<Fact>]
member test.
``Test that something works correctly`` () =
let x = 1
x + 2 |> should equal 3
谁能提供任何关于为什么第一个代码 sn-p 会导致错误而其他两个不会导致错误的见解?
【问题讨论】:
-
看起来是缩进问题。
标签: f#