![]() |
1
6
函数式编程的基本思想是只有很少的全局变量,而大部分是局部变量(参见 Rich Hickey's article on state and identity this post on functional programming for games (不过,例子是在Erlang中)。 我不知道你想玩什么游戏。下面是一个代码片段,我将如何处理局部变量。
|
![]() |
2
4
在我的Clojure游戏中,我使用一个包含一个映射的原子来存储我所有可变的游戏状态。这包括用户界面状态的某些元素。 目前定义如下:
这个模型对我很适用。您可以轻松地直接访问state元素,例如(:game@state),或者定义访问器函数。 |
![]() |
3
2
可以使用映射来模拟C样式的结构。您还可以使用deftype/defrecord(如果您使用的是v1.2)。
我建议使用地图,特别是因为这些可以很容易地用于多种方法。
|
![]() |
Freid001 · 具有最小和最大限制的架构? 7 年前 |
![]() |
phlie · Hoplon With Castra加载后端时出错 7 年前 |
![]() |
David Furnam · Clojure从数组中获取坐标 7 年前 |
![]() |
Jeroen · 如何将惰性序列转换为映射? 7 年前 |