在我的模型中,我在track设置method,把进入track的transporter保存到tablefile(*行,1列,object型)中,当transporter离开track时,设置method查找tablefile中的transporter记录,把正行记录cutrow掉。
t, }1 i- _3 ~7 a5 x9 [; [" L2 P8 I现在的问题是我使用语句( U* X+ c. n* u. I" } \6 X: ?
if tablefile.find(`[1,1]..`[1,*],@) then
8 z5 T+ U* f" N7 E- ?% V删除行逻辑: S' l, ~9 J6 f: b# C5 X; ~
end;2 v0 ^1 H2 K" p' b- P3 U \
我发现find结果总是出错,明明打开tablefile之后可以看见那个transporter,但tablefile.find(`[1,1]..`[1,*],@)的返回值却不一定是true
. b7 ?- Y4 P5 e: c! ~) B2 ^6 H9 `( r" t' n7 w0 r; L
调试的时候,把tablefile.find(`[1,1]..`[1,*],@)粘贴到表达式两行位置,结果发现这条语句在同一时刻,一行显示true,一行显示false,我实在不知道是怎么回事,请大家有时间帮忙解惑一下,不甚感激。
9 k. O2 ?0 u9 p$ c9 F0 R
F9 S9 `2 K: D N另外把tablefile换成queuefile之后,搜索结果到没问题,都正确了,但因为track里面的transporter有些是从入口进入,有些是用method方法从别处移动过来,所以queuefile好像不适用于模型逻辑 |