剧集
在俄勒冈州小径上,使用功能 C#
替换为 Simon Painter
1971年,明尼苏达州的三名学生认为,他们可以通过为学生创建电脑游戏来举办历史讲座,在惠普时间共享基本版工作几天后,他们想出了计算机游戏史上的一个重要里程碑——俄勒冈小径。
俄勒冈小径通常被认为是第一个伟大的电脑游戏之一,也是一个特许经营的发起人,仍然运行到今天。 它实际上是 Shareware 和商业家庭版(具体取决于版本)的第一个实例之一。
不过,我的兴趣不仅仅是在历史计算机游戏中,它也是 .NET 和函数编程。 我想将此用作我激情之一的工作示例 - C# 中的函数编程! 我设定的挑战是使用以下限制重新开发俄勒冈州小径到 C#:
- 近 100% 单元测试覆盖率
- 设置后,任何变量都无法更改状态
- 没有语句 (for, foreach, if, where, etc. 除非从字面上没有办法避免它们
我还将演示函数编程可以提供的一些技巧,如高级函数、具有简单 Monads 和 Tail 递归的功能流。 也应该有一点复古计算的乐趣,而我们处于其中。
推荐的资源
“连接”
- Simon 画图er |推特:@madSimonJ
1971年,明尼苏达州的三名学生认为,他们可以通过为学生创建电脑游戏来举办历史讲座,在惠普时间共享基本版工作几天后,他们想出了计算机游戏史上的一个重要里程碑——俄勒冈小径。
俄勒冈小径通常被认为是第一个伟大的电脑游戏之一,也是一个特许经营的发起人,仍然运行到今天。 它实际上是 Shareware 和商业家庭版(具体取决于版本)的第一个实例之一。
不过,我的兴趣不仅仅是在历史计算机游戏中,它也是 .NET 和函数编程。 我想将此用作我激情之一的工作示例 - C# 中的函数编程! 我设定的挑战是使用以下限制重新开发俄勒冈州小径到 C#:
- 近 100% 单元测试覆盖率
- 设置后,任何变量都无法更改状态
- 没有语句 (for, foreach, if, where, etc. 除非从字面上没有办法避免它们
我还将演示函数编程可以提供的一些技巧,如高级函数、具有简单 Monads 和 Tail 递归的功能流。 也应该有一点复古计算的乐趣,而我们处于其中。
推荐的资源
“连接”
- Simon 画图er |推特:@madSimonJ
想提供反馈? 在此处提交问题。