我已经阅读了有关 F# 的书籍,并且我已经完成了书中的大部分基本练习。现在我正在寻找更高级的练习来提高我在语言和函数式编程概念方面的技能。
有没有地方或一本书可以让我通过专门设计的练习来练习 F# 来学习语言功能?现在我只能找到介绍性的东西或一般的编程问题网站(例如 Project Euler)。
我的目标实际上是学习如何以函数式的方式思考并习惯诸如模式匹配、部分应用函数、monads/工作流、尾递归等。我想学习如何使用函数式结构解决问题。
我也对为其他函数式编程语言(如 Haskell)设计的任何好的练习感兴趣。
最佳答案
如果您相信通过实践经验学习,Project Euler problems可能是你的练习。它们不仅限于函数式编程,而且它们的数学性质非常适合 F# 和其他函数式语言。 Yet Another Project Euler Series是在 F# 中开始使用 Project Euler 的好资源。
我曾经通过99 problems学习Prolog但我看到人们也通过他们学习 Lisp、Haskell、OCaml 等。我认为这些练习是学习 F# 的有用资源。
它们是精心设计的问题。前几个教您使用列表(F# 中的基本数据结构)。有关逻辑、树和图的更高级问题是探索高级 F# 功能的好机会。以下是OCaml中的解决方案集和 F#以防您需要它们以供引用。
关于F#高级练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14737991/