|
|
我写的一个程序想实现在IObuffer中的MU按时刻表exit,若需要exit的时候IObuffer中没有MU,那一旦IObuffer中有MU就立即exit。IObuffer的名字是zhuZhan,程序如下:
* k; \$ j" }# i% J+ Y' vis . |, j, {# k* r4 l L H1 J
do & c" K) P$ i! N
waituntil EventController.simTime = Schedule[now_depart_num];) |) z1 ^; [2 X: M+ `
if zhuZhan.empty = false+ V' E, N" _6 j7 @: _9 q8 u
then ( @. N0 K% r. Z9 U! p" L/ g
zhuZhan[1].move();
$ V0 }& ~5 G$ v now_depart_num = now_depart_num + 1; 6 g1 e5 {: D4 [, f* V
else
+ ^+ R0 q' z( F' \ { waituntil zhuZhan.empty = false;
4 f5 Q, E& [5 M4 A8 c3 u zhuZhan[1].move();
& p$ p% K9 [1 b% y now_depart_num = now_depart_num + 1;2 | N3 l) E' v$ C8 J) s
end;
0 W8 v- u1 w+ ]8 w9 e! Uend;
' |, A- s' T2 E: x" W( _
! E: {4 i( l8 \! o但是一直说有错误,提示信息是:access to tables is not allowed within a waituntil statement.
$ i E6 X2 }/ X0 E; ~3 S0 J, m若是增加一个局部变量,如下:
8 x9 L8 ]$ v2 [3 K4 \is # j2 e) M+ J/ d3 z; y& O; j3 X
depart_time : time;
* A& h& b3 N) [: c( l8 cdo 2 y( u( n8 c7 `& E7 W
depart_time := schedule[now_depart_num];
9 {1 W+ ^ `6 q- p/ g# h waituntil EventController.simTime = depart_time; 7 E2 h* @2 b/ b0 I, G
。。。
! \" v; s( O) V6 a又会出现syntax error near line 5 at <;>!( Q4 i. K! k. h# O# Q, z- d
3 ?( X! Y6 W7 E各位大侠帮帮忙,或者教我怎么改程序的错误,或者教教我用别的方法实现我的目的,谢谢了! |
|