CLIPS中数组的数组



我想创建一个数组的数组。例如:((a b c) (d e f))

(bind ?part1 (create$ a b c))
(bind ?part2 (create$ d e f))
(bind ?structure (create$))
(bind ?structure (insert$ ?structure 1 (create$ ?part1)))
(bind ?structure (insert$ ?structure 2 (create$ ?part2)))

这个代码给了我:

(bind ?part1 (create$ a b c))
(a b c)
CLIPS> (bind ?part2 (create$ d e f))
(d e f)
CLIPS> (bind ?structure (create$))
()
CLIPS> (bind ?structure (insert$ ?structure 1 (create$ ?part1)))
(a b c)
CLIPS> (bind ?structure (insert$ ?structure 2 (create$ ?part2)))
(a d e f b c)
CLIPS> 

有什么提示吗?

谢谢尼科

多字段不能嵌套。如果需要嵌套值,我建议使用实例:

CLIPS> (defclass VALUES (is-a USER) (multislot values))
CLIPS> (make-instance v1 of VALUES (values a b c))
[v1]
CLIPS> (make-instance v2 of VALUES (values d e f))
[v2]
CLIPS> (make-instance v3 of VALUES (values [v1] [v2]))
[v3]
CLIPS>

相关内容

  • 没有找到相关文章

最新更新