|
|
我写的一个程序想实现在IObuffer中的MU按时刻表exit,若需要exit的时候IObuffer中没有MU,那一旦IObuffer中有MU就立即exit。IObuffer的名字是zhuZhan,程序如下:
% @$ e' {+ T: C$ r6 _3 Vis ; d, ?6 p- `2 \4 O( I k
do
' o' Q7 o& e" u/ ^1 \# C* m+ N" F waituntil EventController.simTime = Schedule[now_depart_num];5 d: U9 I7 [ l+ l& G
if zhuZhan.empty = false
' q( n# w# S$ j0 ~ then
) V3 t/ C$ R8 g% Z8 ]+ N3 X- o zhuZhan[1].move();
0 {0 Q8 y3 }6 L7 n# v$ B now_depart_num = now_depart_num + 1; ' W$ a s! [7 Q3 f1 D! x2 v
else; [% s- P7 i) y& E
waituntil zhuZhan.empty = false;! D, f+ A; H5 [) d% @. L: X) L
zhuZhan[1].move();, f$ _8 ?9 A+ D! F5 R
now_depart_num = now_depart_num + 1;( O( W D) j M d6 d
end; $ J* A Q% ?& q( H2 K1 o& V1 D
end;8 ?6 }" M. E8 [: x& t
' U# t: c8 T! R. h# L5 z
但是一直说有错误,提示信息是:access to tables is not allowed within a waituntil statement. 6 c7 @$ X7 ~* m/ V6 h/ |
若是增加一个局部变量,如下:
+ m" v) f* L C! H% r! j! J, ~is
9 Q: Z2 K: w, O% y: u' [, Q o. l depart_time : time;2 h C7 e) X6 p/ R, X$ O# g& z
do {* O3 f- h' T" G/ o% \0 U
depart_time := schedule[now_depart_num];& n+ B: a* ] }. D% q% u' K* y0 _
waituntil EventController.simTime = depart_time; & p) p* c' ~0 M% x
。。。4 k6 O3 t! P Z1 ~! S* @0 r( L
又会出现syntax error near line 5 at <;>!
4 _ K9 X0 b, [
0 A$ `. W+ N4 m各位大侠帮帮忙,或者教我怎么改程序的错误,或者教教我用别的方法实现我的目的,谢谢了! |
|