当前位置:  开发笔记 > 开发工具 > 正文

F# - 我应该在有或没有#light的情况下学习吗?

如何解决《F#-我应该在有或没有#light的情况下学习吗?》经验,为你挑选了3个好方法。

我正在学习F#,到目前为止我很享受.几乎所有在线示例都使用轻量级语法(#light); 但是,在大多数情况下,也会对所述示例进行评论.

使用#light启用还是禁用来学习F#会更好吗?我打算最终学习它没有开启,但我很好奇是否在开始学习它或者在我更熟悉核心语言之后应用它.



1> Tomas Petric..:

我绝对更喜欢用#light语法学习F#.非轻量版本有时用于理解有关F#语法的一些技巧,但#light语法为您提供了非常愉快的体验.

例如 - 使用#light

let add a b c = 
  let ab = a + b
  printfn "%d" ab
  c - ab

使用非光可以写出像这样的东西:

let add a b c = 
  let ab = a + b in // 'in' keyword specifies where the binding (value 'ab') is valid
  printfn "%d" ab;  // ';' is operator for sequencing expressions
  c - ab;;          // ';;' is end of a function declaration

例如,这表明您不能写如下:

let doNothing a b = 
  let sum = a + b in 

最后有一个'in'关键字,但该函数没有任何正文(因为'in'后面没有表达式).在这种情况下,非轻量级语法有时很有用,可以理解正在发生的事情......但正如您所看到的,#light代码更简单.



2> Brian..:

"#light"可能会成为该语言未来版本的默认设置,因此我会这样学习.我认为除了OCaml兼容性之外,任何人都很少使用较重的语法(在交叉编译时,或者因为坐在键盘上的人知道OCaml并且正在向F#过渡更平滑).



3> Derek Slager..:

因为我从OCaml书中学到了F#(我使用OCaml模式为Emacs编辑F#代码),我更喜欢使用"重"语法.我使用过#light代码,当然大多数F#示例都是使用light语法编写的,所以对它有一些熟悉程度是很有用的.也就是说,从重量级转换为轻量级比使用其他方式更容易,因此使用繁重的语法学习它当然不是一个坏主意.

我偶然遇到了一个令人烦恼的错误,重型语法被视为二等公民(组合被破坏了计算表达式,一对夫妇发布回来),但这些很少见.一般来说,我认为差异不是很大,我需要仔细查看单独查看代码时使用的语法.因人而异.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有