2014-11-06 132 views
0

我想知道是否可以遍历袋列表的元素并将它们存储到变量中?遍历袋列表中的元素

非常感谢您 阿里

通过使用一些评论

(defglobal ?*Friends* = 0) 
(bind ?*Friends* (bag create Bob)) 
(bind ?*Friends* (bag create Nicolas)) 
(bind ?*Friends* (bag create Nancy)) 
(bind ?*Friends* (bag create John)) 
(bind ?*Friends* (bag create George))) 

现在我想通过这个包列表,并分别打印任何变量由OP给出的代码,劳瑞懒懒编辑,

+0

如果您不显示任何代码,您将不会得到任何帮助。我确实知道什么是“包”,我确定我知道(Jess)列表是什么,我知道如何遍历它。但是既然你必须把那个“袋子清单”绑定到一个变量上(或者其他什么地方?),你的问题就没有意义了。如果它位于一个插槽中,请显示该模板 - 它可能是一个插槽或一个多插槽或有序的事实......现在你的Q代表,我只能回答:“是的,这是可能的。 – laune 2014-11-07 06:43:25

+0

遗憾的是,这里是我的代码: (?defglobal *好友* = 0) (?绑定*好友*(袋创建鲍勃)) (?绑定*好友*(袋创建尼古拉斯)) (绑定?*朋友*(包创建南希)) (绑定?*朋友*(包创建约翰)) (绑定?*朋友*(袋子创建乔治))) 现在我想通过这个袋子列表并打印任何变量分开,(我的意思不是像使用(袋子列表...)时出现的那样。非常感谢 – 2014-11-07 19:31:46

回答

0

你不能用这种方式创建一个包,我不认为你需要一个包,这是一组键 - 值对。你在做什么是创建一个简单的列表,其中包含鲍勃,试图做尼古拉斯,南希,约翰和乔治。

袋子会将一个键与一个值相关联,例如,

(defglobal ?*Friends* = 0) 
(bind ?*Friends* (bag create my-friends)) 
(bag set ?*Friends* Bob "old and reliable") 
%%... 
(bag set ?*Friends* George "new and curious") 

要得到的所有朋友的名字,你会写

(bind ?names (bag props ?*Friends*)) 

它返回一个列表(鲍勃...乔治)。

但是您可以立即创建此列表首先...

+0

问题是我不希望列表中的所有项目都立即被打印出来,I希望将它们逐一打印,而不是作为总列表。我是否必须为每个插槽值进行匹配? – 2014-11-10 17:50:51

+0

首先它是“sto将[袋列表元素]变成一个变量“,现在是”逐个打印“。你确定你知道你想要/需要编程吗? – laune 2014-11-10 18:01:51

+0

那么这就是为什么我想遍历整个列表,为了能够在以后完成所有这些步骤,但是通过您提供的内容,我将只列出一些我无法遍历的元素列表,请问我有这个观点吗? – 2014-11-10 19:35:52