|
|
我写的一个程序想实现在IObuffer中的MU按时刻表exit,若需要exit的时候IObuffer中没有MU,那一旦IObuffer中有MU就立即exit。IObuffer的名字是zhuZhan,程序如下:
* @4 ^) y% I9 @9 g: k5 nis 7 p# I* {, \8 a0 K
do ; x. r8 D, ?# N2 A
waituntil EventController.simTime = Schedule[now_depart_num];6 {+ s. s; k. `+ I
if zhuZhan.empty = false
( P+ D+ x% h0 [! M; w then 4 H& ? f5 Y) C. v% b: ^$ m8 V1 q/ [
zhuZhan[1].move();
$ q2 @3 v% y( i8 J now_depart_num = now_depart_num + 1; * a# ~5 m( g [" K
else
& J& v5 F! Z9 O# ^7 }' ] waituntil zhuZhan.empty = false;/ N: n8 v+ a2 w
zhuZhan[1].move();% o; D1 ^4 ~6 D" k4 S1 t. M
now_depart_num = now_depart_num + 1;! T$ E, a, ?4 n0 ?% l: {8 H8 y
end; 4 |# @4 d6 ? n p& O
end;
5 N9 q* F/ g, K* H1 h
8 b( C5 @+ i7 X+ W% i但是一直说有错误,提示信息是:access to tables is not allowed within a waituntil statement. - K$ |& B. L1 e2 e
若是增加一个局部变量,如下:
# i4 T: f/ o9 q% h; d' [is
3 t9 ^, l2 m+ j; `4 `/ @, h depart_time : time;/ p5 M- J: I* {2 z0 C% v# m
do 8 n+ h B4 {* Y, k+ z( p: ]( _
depart_time := schedule[now_depart_num];
; j$ c( E5 S2 [" F1 S9 W waituntil EventController.simTime = depart_time;
0 Q$ z% j6 ?5 o, N, i 。。。
2 Z# f3 b3 o& b5 e! N3 \又会出现syntax error near line 5 at <;>!; R$ M: q9 h$ `1 b+ g
" |6 o: e4 ~% w3 l: L: ]8 Y( j# F
各位大侠帮帮忙,或者教我怎么改程序的错误,或者教教我用别的方法实现我的目的,谢谢了! |
|