return clips 函数中的两个值
return two values in clips function
我正在用剪辑编写一个项目,其中有一些协调的实体(棋盘游戏的方块)。我这样定义他们的模板:
(deftemplate square
(slot x (type INTEGER))
(slot y (type INTEGER))
)
所以我想要一个函数,它可以得到方向参数,如右、左、上、下和 ?x、?y 坐标和 return 位于该方向的正方形坐标(与当前的一个)。
问题是函数可以 return 单个值,而我需要 x、y。
我试过了
(return ?x ?y)
和
(return (?x ?y))
但是它们都给出了语法错误。
有没有办法实现它,或者我需要解决它?
感谢您的宝贵时间。
使用 create$ 将多个值放入多字段值中。然后您可以使用 nth$ 检索单个值:
CLIPS>
(deffunction direction ()
(return (create$ 1 -1)))
CLIPS> (direction)
(1 -1)
CLIPS> (nth$ 1 (direction))
1
CLIPS> (nth$ 2 (direction))
-1
CLIPS>
我正在用剪辑编写一个项目,其中有一些协调的实体(棋盘游戏的方块)。我这样定义他们的模板:
(deftemplate square
(slot x (type INTEGER))
(slot y (type INTEGER))
)
所以我想要一个函数,它可以得到方向参数,如右、左、上、下和 ?x、?y 坐标和 return 位于该方向的正方形坐标(与当前的一个)。
问题是函数可以 return 单个值,而我需要 x、y。
我试过了
(return ?x ?y)
和
(return (?x ?y))
但是它们都给出了语法错误。
有没有办法实现它,或者我需要解决它?
感谢您的宝贵时间。
使用 create$ 将多个值放入多字段值中。然后您可以使用 nth$ 检索单个值:
CLIPS>
(deffunction direction ()
(return (create$ 1 -1)))
CLIPS> (direction)
(1 -1)
CLIPS> (nth$ 1 (direction))
1
CLIPS> (nth$ 2 (direction))
-1
CLIPS>