0
我試圖定義這個函數,它取多個整數並保留那些不同於0的函數。它不起作用,顯然遞歸調用(filter $?tail)
與參數列表不匹配。這可以在CLIPS中完成嗎?CLIPS中的過濾函數
(deffunction filter (?head $?tail)
(if (= (length $?tail) 0) then
(if (!= ?head 0) then (return ?head))
(return $?tail))
(if (= ?head 0) then
(return (filter $?tail)))
(bind $?result ?head (filter $?tail))
(return $?result)
)
我並不真的需要這種特定的功能,但我需要的作品大致相同方式的功能。我只發佈了這個更簡單的版本,以減少混亂。 –
@PaulManta然後用'(filter(first $ $?tail)$?tail)替換'(filter $?tail)'調用'解決它? – Evans
不應該是沿着'(過濾器(第一個$ $?尾巴)(尾部$ $?尾巴))'的行,否則遞歸永遠不會結束? –