首页 文章

F#高级练习

提问于
浏览
22

我已经读完了关于F#的书籍,我已经完成了本书中的大部分练习,这些练习都很基础 . 现在我正在寻找更高级的练习来提高我的语言和函数式编程概念 .

有没有一个地方或一本书,我可以通过特别设计的练习练习F#来学习语言功能?现在我只设法找到介绍性的东西或一般编程问题的网站(例如Project Euler) .

我的目标是学习如何以功能方式思考并习惯模式匹配,部分应用函数,monads / workflows,尾递归等等 . 我想学习如何使用功能构造解决问题 .

我也对任何为其他函数式编程语言(如Haskell)设计的好练习感兴趣 .

4 回答

  • 7

    如果您相信通过实践经验学习,Project Euler problems可能是您的练习 . 它们不仅限于函数式编程,但它们的数学性质非常适合F#和其他函数式语言 . Yet Another Project Euler Series是开始使用F#中的Project Euler的好资源 .

    我曾经通过99 problems学习Prolog,但我也看到人们通过它们学习Lisp,Haskell,OCaml等 . 我认为这些练习是学习F#的有用资源 . 它们是精心设计的问题 . 前几个教你使用列表(F#中的基本数据结构) . 关于逻辑,树和图的更高级问题是探索高级F#特征的好机会 . 以下是OCamlF#中的解决方案集,以备您参考时使用 .

  • 13

    我开始经历前50个Project Euler问题 . 这是一个很好的初始学习经历 .

    我开始积极参与Stackoverflow F#标签后不久 . 看到别人提供的答案,并且不得不研究我自己的答案是非常有教育意义的(你知道他们对通过教学学习的看法,这是真的) .

    然后,我最大的学习经验来自于F#中的开源项目 . 即FsEyeUnquote . 这两个想法都来自于反思我对F#的经验,并看到了丰富F#生态系统的机会 . 在FsEye的情况下,它正在增强FSI体验 . 在Unquote的情况下,它正在利用一个独特的F#功能 . 这两个通过对重要项目的经验学习,真正让我对F#有了深刻的理解和技巧 .

  • 3

    tryfsharp.org是学习F#的好地方 . 教程按技能级别和问题域进行细分 . 它可能正是您正在寻找的 .

  • 23

    HackerRank为您提供算法挑战 . 整个部分专门用于functional programming,当您创建解决方案时,您可以选择F#作为您选择的语言 .

    在函数式编程中,您可以在不同的任务组中进行选择:递归,函数结构,解析器等等 .

相关问题