【发布时间】:2015-11-04 23:52:57
【问题描述】:
我有一个函数,它接受一个状态和一个动作,并返回一个新状态,该状态是在原始状态下应用接收到的动作产生的。
我的问题是我编写了一个复杂的 loop 代码,我想对其进行优化,以便它为我带来更清晰的阅读功能和更优化的功能。
我有这个复杂的“伪代码” loop 部分函数源:
(loop for l from 0 upto (1- (array-dimension variable1 0)) do
(if (not (aref variable1 l 0))
(1+ max-height)
(return)))
我有什么机会让loop 更简单和优化?
Loop Documentation 和 DoTimes Documentation 在我看来不够清楚,无法对我的代码进行更改,对此我深表歉意。任何解释都会对我有价值。
【问题讨论】:
-
我敢打赌,sn-p 无论如何都不起作用。它究竟应该做什么?
-
该循环假设使 俄罗斯方块游戏 中的一行被递减,这样对象就会下降,以防它在第一列中有
NIL元素。 -
decf 应该修改一个地方。我不确定 array-dimension 是否是您应该尝试修改的地方。函数 1- 可能就是您要在那里寻找的。span>
-
代码sn-p有多个错误。这没有任何意义。
-
@JoshuaTaylor 你是对的,代码是一个不干净和错误的例子。我做了我的改变,谢谢。
标签: lisp common-lisp