2
我有兩個列表,每個代理。他們顯示1)他們被吸引到誰,2)他們吸引了誰。 我想創建一個新的集合變量,只顯示那些相互吸引的代理。相同的吸引力是:代理(自我)的號碼在其他代理的'吸引'列表中,並且其他代理的號碼在第一代理(自己)'吸引'列表中。我的代碼到目前爲止:兩個列表組合
if attracted != nobody [set attractinglists fput ([self] of attracted) attractinglists]
if attracted != nobody [set attrlists fput ([self] of attracting) attrlists]
set attractinglist [self] of other turtles with [member? myself attrlists]
它不起作用。請記住吸引力和吸引力是在滴答期間更新的列表。他們可以在代理2中被選中,但在代碼2中吸引代理人2。代碼沒有考慮到這一點。請幫忙。 – Newguy
WITH預期的輸入是一個代理集,但得到了列表[]。 – Newguy
它確實有效;我用上面的代碼來運行海龜,在每次打勾時更新它們的吸引力。我編輯了我的答案,包括所需的唯一安裝程序,所以我的答案現在包含使所有程序正確執行所需的所有行。 你的'with'錯誤源於使用'with'和列表,比如上面創建的「equal-attraction-list」,而不是代理集。請注意,在上面的代碼中,'with'原語都在查詢代理集「被吸引到」。 –