函数式编程初尝之脚本解析豆瓣首页

184 阅读1分钟

下面是在脚本中用函数式编程的方式解析豆瓣首页的简单演示动画:

其中我最喜欢的就是用到的HtmlProvider,因为它帮我解析了大量的html文本内容,不再需要用繁琐的正则表达式去解析了;而且解析后的数据会动态地为相应的数据结构生成相应的类型,从而有了编写代码时的智能提醒。类似的provider有很多如CsvProvider, JsonProvider, SqlProvider等等,当然也可以写自己的。更多的可以参看[http://fsharp.github.io/FSharp.Data/]。我第一次看见这个东西的时候非常震惊。

以前简单得用过python作为脚本来解析一些网页里面的数据,或者处理json文件等,但是尽管传说python非常简单,但是易用性和开发效率对于我来说真的不是很高,尤其时类型解析和智能提醒方面。

FSharp作为一个基于.net的函数式编程语言,既可以充分利用.net生态里的所有东西(比如c#写的各种库),又可以用函数式的方式来写脚本,加上超强的类型系统驱动的智能提醒,那开发效率应该会高不少。