 - (reverse (cdr (reverse (cons (last POINTS) POINTS)))
- )
只说这句的含义。这个函数不是 我写的,没深入研究。
这句是将points的最后一个点换到第一个位置来,比如points是(1 2 3 4)转换后是(4 1 2 3)
你可以讲这样的嵌套语句一句一句的解读
这句从最里层的括号开始
(last points) 取出最后一个元素 本例解读 = 4
(cons 4 points) 将 4插入points表中 => (4 1 2 3 4)
(reverse '(4 1 2 3 4)) ==> (4 3 2 1 4)
(cdr (4 3 2 1 4)) ==> (3 2 1 4)
(reverse '(3 2 1 4)) ==> (4 1 2 3)
至于整个函数的算法,需要深入研究。
有时候我看代码,一眼过,如果不需要,不研究算法。 |