我正在挖掘F#并喜欢用大量不同的方式编写代码。
但我很困惑 - 为什么非#light语法存在,如果它优于默认语法?
有谁知道为什么?
为什么不使#light默认并为那些想要的空格特定代码提供#dark选项?
答案 0 :(得分:11)
这是最新CTP版本中的默认设置,它将在Visual Studio 2010的框中。
虽然大多数开发人员都认同#light是一种更愉快的编码体验,但不是每个人都分享你的爱。此外,具有空白感知代码也使得诸如代码生成MUCH之类的一些任务更加困难。 (想想lambda里面的lambdas。)
我怀疑非#light不会在野外讨论或看到,但对于那些来自沉重的OCaml背景或与#light有一些宗教问题的人肯定会存在。
答案 1 :(得分:4)
OCaml兼容性存在非轻量级语法。 F#直接从OCaml获取库的一些代码,并且应该与OCaml兼容。如果你想要移植代码,你只需使用非光。如前面的答案所述,#light将是最终版本中的默认值。
答案 2 :(得分:3)
万一你错过了,你可以在另一篇文章here on StackOverflow中找到关于#light语法的更多想法。它解释了非#light语法可能有趣的一些原因。