2011-12-08 8 views
8

두 에이전트 세트가 있습니다. 함수를 찾는 있습니다NetLogo 두 에이전트 세트 조작

  1. 모두 (교차로)에 존재하는 에이전트의 agentset
  2. 한 존재가 아닌 다른

내가 찾는거야 에이전트의 agentset

: 그것은 매우 어려운 일이 with 구문과 유사 할 것입니다 트리플 ask

이상적인 사용의 내부에 필요한, 특히 손으로이를 구현하기

let cross set1 and-in set2 
let uniq set1 with [color = red] not-in set2 

"에이전트 X에 에이전트 A가 있습니까?" 문제가있다

답변

11

처음에는 turtle-set 프리미티브를 사용합니다. 두 번째 경우에는 member? 프리미티브가 필요하며 에이전트 세트에서도 작동합니다. 따라서 :

to setup 
    ca 
    create-turtles 10 [set color red] 
    create-turtles 10 [set color blue] 
    let red-ones turtles with [color = red] 
    let blue-ones turtles with [color = blue] 

    ;join 2 agent sets 
    let joinset (turtle-set red-ones blue-ones) 
    show joinset 

    let even-ones (turtles with [who mod 2 = 0]) 
    ;subtract even-ones from red-ones 
    let subtractset red-ones with [not member? self even-ones] 
    show subtractset 
end 
+1

나는 [with]가 "리포터"를받을 수 있다는 것을 몰랐다. 첫 번째 질문은 노조가 아니라 교차로를 찾는 것이 었습니다. 그러나 두 번째 질문에 대한 답을 보는 것은 [구성원이있는 빨간색 사람처럼 간단 할 것 같습니까? 자기 짝수]. 고맙습니다! – Mikhail

+0

감사합니다. 나는 똑같은 질문을했고'with '구조로'self'를 사용할 수 있다는 것을 깨닫지 못했다. 처음에는'? '을 시도했지만 오류 메시지가 표시되고 진행 방법에 대한 다른 아이디어가 없었습니다. – RussAbbott

관련 문제