我的教授告诉我们,我们可以为下一个编程任务选择一种编程语言.我一直想尝试一种功能语言,所以我想我会尝试使用clojure.问题是我理解了语法并理解了基本概念,但是我遇到了一些问题,让我在脑海中"点击".有人有建议吗?或者我可能选错了语言来开始函数式编程?
这有点像骑自行车,只需要练习.尝试解决它的一些问题,也许是ProjectEuler,最后它会点击.
有人提到了"The Little Schemer"这本书,这是一篇非常好的读物.虽然它以Scheme为目标,但实际问题值得一试.
祝好运!
好吧,对我来说,当我开始做OCAML时,我遇到的问题和你在开始时遇到的问题一样,但诀窍是你必须从代码开始考虑你想要的东西,而不是 怎么做!
例如,要计算列表元素的平方,忘记列表的长度和这些技巧,只需在数学上思考:
如果列表是空的 - >我完成了
如果没有,那么列表必须有头部和尾部 - >你计算头部的平方,然后让你的函数对尾部做同样的事情.
只考虑一般情况和基本情况,并且您正在发送数据而不是修改它(除非您想要修改它;)).
祝好运!
你可以看看The Little Schemer.
怎么样:http://www.defmacro.org/ramblings/lisp.html
从常规命令式程序员(Java,C#等)的角度来看,这是一个非常简单的逐步介绍,在lisp中进行思考.