超级奇怪的F#格式错误

今天被一个超级trivial的格式问题搞到抓狂。程序中有这样一个match结构:

match ... with
| ... -> ...
| ... -> ...

这以后不论写一行什么编译器都抱怨格式错误。原来是#light格式的缩进规则所致,应该这样写:

match ... with
 | ... -> ...
 | ... -> ...

注意每个竖线前都要空一格。如果没有空格,编译器会认为match后每一行都是一个pattern,因而格式错误。如果不空格的话,把整个match用括号括起来也可以。

你可能感兴趣的:(F#)