从netlogo中任何列表第(i&x2B;1)个位置的元素中减去第i个位置的元素

从netlogo中任何列表第(i&x2B;1)个位置的元素中减去第i个位置的元素,netlogo,Netlogo,我想创建一些变量(tot海龟)的计数值列表,这些值随着每个刻度的增加而增加。我尝试了下面的代码,但所有时间列表都有一个长度为1的元素。我也没有增加。请纠正我 set tot-turtles count turtles to go let mylist [ ] set mylist lput tot-turtles mylist ; show mylist set i 1 foreach mylist [ ; print ? ;show i

我想创建一些变量(tot海龟)的计数值列表,这些值随着每个刻度的增加而增加。我尝试了下面的代码,但所有时间列表都有一个长度为1的元素。我也没有增加。请纠正我

set tot-turtles count turtles 

to go
  let mylist [ ]
  set mylist lput tot-turtles mylist  ;    show mylist 

  set i 1
  foreach mylist [       ; print ?        ;show i
     set x ? - i         ; print x
     set i (i + 1)        ;show i
  ]
 end
我想用下面的方式减去列表中的元素,其中列表的长度取决于模拟运行的次数或直到模拟结束,然后 我需要减去元素作为第(i+1)个元素-第i个位置的元素,直到列表的末尾

在上面的代码中,i为1,然后增加1,即2,然后继续到1 2。mylsit始终显示单个元素。与“?”混淆,如果我没有错,它给出了当前位置的元素,但我们如何知道当前位置

请帮我解决这些疑问和代码。非常感谢

谢谢,先生,是的,我在局部变量和全局变量上犯了错误,我后来检查过了。我想要的东西如下

  to setup 
          set mylist [ 0] 
          set item-difference 0
  end  

  to go 
     set tot-turtles count tutles set 

     mylist lput tot-turtles mylist 
     let _n (length mylist) 
     set item-difference (( item ( _n - 1 ) mylist - item ( _n - 2 ) mylist )         
 end

我希望你得到了Allan先生。

要知道你想要的是什么有点困难,但是当你想要一个全局变量时,你似乎在使用一个局部变量。看看这是否提供了一些帮助:

globals [mylist]

to setup
  ca
  set mylist []
  crt 10
end

to go
  crt 1
  set mylist lput (count turtles) mylist  ;    show mylist 
end

to test
  let _n (length mylist)
  (foreach mylist n-values _n [? + 1] [
    print ?1 - ?2
  ])
end