所以我将这行代码作为函数的一部分,它接收"否"作为参数.
(cond ( (avaliar-no (no-tabuleiro no)) (return no)))
问题是当我这样做时(return no)
我得到这个错误:
Unknown block NIL in form #S(COMPILER::MULTIPLE-TRANSFORMS-RECORD :FORMS (# #) :ORIGINAL-PATH 3946)
谁知道这可能是什么?
继承了整个功能(尚未完成)
(defun minimax (no estado) (let ( (sucessores nil) (v nil)) ;se o no for solucao entao retornamos esse nó e guardamos o seu custo na lista (cond ( (avaliar-no (no-tabuleiro no)) (return no)) ;falta fazer o (setf *valoresF* valorDoNo) ;se nao for solucao entao expandimo o nó (t(setf sucessores (no-sucessores no estado)))) ;se o estado for min entao metemos o V a +oo e corremos o algoritmo para toda a lista de sucessores ;(cond ( (and(>= (length sucessores)1)(equal estado 'min)) (setf v 9999) (loop (minimax (first sucessores) 'max) (setf sucessores (rest sucessores)) (setf v (min v *valoresF*)))))
Rainer Joswi.. 6
RETURN
需要从某事物中回归.这个东西将是一个名为的块NIL
.因此它只是一个较短的版本(return-from nil ...
).
命名函数创建一个块,但不创建名称NIL
.该名称块是函数的名称.因此你必须打电话(return-from function-name ...)
.
RETURN
需要从某事物中回归.这个东西将是一个名为的块NIL
.因此它只是一个较短的版本(return-from nil ...
).
命名函数创建一个块,但不创建名称NIL
.该名称块是函数的名称.因此你必须打电话(return-from function-name ...)
.