返回lisp错误

Ped*_*sta 2 common-lisp

所以我将这行代码作为函数的一部分,它接收"否"作为参数.

(cond ( (avaliar-no (no-tabuleiro no)) (return no)))
Run Code Online (Sandbox Code Playgroud)

问题是当我这样做时(return no)我得到这个错误:

Unknown block NIL in form
#S(COMPILER::MULTIPLE-TRANSFORMS-RECORD :FORMS (#
#) :ORIGINAL-PATH 3946)
Run Code Online (Sandbox Code Playgroud)

谁知道这可能是什么?

继承了整个功能(尚未完成)

(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*)))))
Run Code Online (Sandbox Code Playgroud)

Rai*_*wig 6

RETURN需要从某事物中回归.这个东西将是一个名为的NIL.因此它只是一个较短的版本(return-from nil ...).

命名函数创建一个,但不创建名称NIL.该名称是函数的名称.因此你必须打电话(return-from function-name ...).