7

我正在为几周后开始的课程编写一些课程材料。我选择 Clojure 作为学生学习的新语言。我想用一章来将命令式代码重构为函数式代码。为此,我想要一组不牵强附会的实际问题,通过这些问题我可以展示命令式和函数式解决方案的比较。这些问题最好不要像 Euler 项目那样强调数学,而是普通程序员需要定期处理的问题。谁有这方面的好资料?

部分答案:一个这样的来源是http://langref.org/。更想要!

4

2 回答 2

5

虽然不是很实用(因为短到足以在课堂上展示的实际问题往往有点无聊),但编写生命游戏是我最喜欢的学习新语言的方法之一。作为奖励,函数式方法与命令式解决方案完全不同(而且更优雅)。此外,处理数据序列的任何类型的问题(例如,分析推文序列的词频等)都是很酷的例子。

于 2012-03-11T14:46:26.370 回答
3

这是一个古老的栗子,但仅以各种不同的方式实现阶乘函数就很有启发性。另一个常见的例子是质数生成器,它可以更大一些。

我意识到这两个都是数学示例,但它们只需要基本知识。

于 2012-03-11T15:44:41.390 回答