|
我写的一个程序想实现在IObuffer中的MU按时刻表exit,若需要exit的时候IObuffer中没有MU,那一旦IObuffer中有MU就立即exit。IObuffer的名字是zhuZhan,程序如下:! o! l" F3 B( d, Z& a' h& ~
is + o/ w) O. Y" U7 V/ A! D: ]
do
! w6 s4 V ~; o( k$ i( r7 D0 A waituntil EventController.simTime = Schedule[now_depart_num];
% T+ d0 W0 s# b. W3 X" k8 A# O if zhuZhan.empty = false, h# ~# a' i8 n! H
then
# \( r5 R+ Z4 l: ^" ~& n3 ~ zhuZhan[1].move();
+ y+ m- x1 x- a now_depart_num = now_depart_num + 1; 8 j; [" n5 Y1 K* V" m' ]
else, ?8 A3 \( _* m8 I. h8 R: F
waituntil zhuZhan.empty = false;) a) u0 z! v9 `' \% ?: l" u
zhuZhan[1].move();6 f9 d6 [% S* o1 O/ w8 }
now_depart_num = now_depart_num + 1;' [6 s3 [( M* J. i. i, s- f& c
end; $ d+ E1 P5 c4 p6 c( w' r, `5 [" g
end;! K$ f: l9 D' Q
& K3 [. x, ?! e" J! G
但是一直说有错误,提示信息是:access to tables is not allowed within a waituntil statement. / J7 q R" i' q& ]. f* x# p+ w
若是增加一个局部变量,如下:
5 E) T% P, P z, _% v2 {4 ?is 9 F. U5 u: c% G$ Y/ f7 b4 i2 L
depart_time : time;: i. q, O; X4 ~! q [
do
0 p6 l1 h: n3 e7 v% U% }1 _' l* y depart_time := schedule[now_depart_num];
, N8 `4 R7 h P( l7 ~- {0 B waituntil EventController.simTime = depart_time; 1 F7 P* b2 D& L
。。。: O8 \2 q+ v- [' o. l5 r: e
又会出现syntax error near line 5 at <;>!8 g5 \3 O3 n, @
5 h: F3 v) v. @( C5 s, D
各位大侠帮帮忙,或者教我怎么改程序的错误,或者教教我用别的方法实现我的目的,谢谢了! |
|