|
|
我写的一个程序想实现在IObuffer中的MU按时刻表exit,若需要exit的时候IObuffer中没有MU,那一旦IObuffer中有MU就立即exit。IObuffer的名字是zhuZhan,程序如下:
* N c5 ]0 g! O; ~' o% Yis " k( E) U0 S" M4 o1 Q( @3 @
do ( F, _3 I3 N& `: A& F. H# n' Q
waituntil EventController.simTime = Schedule[now_depart_num];
( y4 h" R; u. ~$ |; I if zhuZhan.empty = false: u3 Z/ h$ Q4 e! R
then
: ~4 h; V2 S3 I. u' u) v zhuZhan[1].move();
2 z* j! P9 x9 K0 ~/ S4 W) Y$ G, N now_depart_num = now_depart_num + 1;
$ E1 D" p# O. f+ q$ ], x1 N# E else5 e6 i$ {7 e: s( v: S
waituntil zhuZhan.empty = false;
/ G% v$ M- D1 R1 _ zhuZhan[1].move();
5 |1 Q0 d6 U; R- ^7 w5 i now_depart_num = now_depart_num + 1;
" _% v% b4 u, {/ N# P' n end;
$ \6 M2 o K1 V2 Pend;2 K: e) N! `# ^/ f1 A( `1 @- { A/ ]
+ E$ k; [& r4 _, K y3 j) o: X5 H但是一直说有错误,提示信息是:access to tables is not allowed within a waituntil statement.
1 }, _ Q' U. V% V" ~4 k若是增加一个局部变量,如下:
- J) o7 J2 ^/ h3 M; S z1 o; [is B; t7 ]" Y. |- O. C
depart_time : time;
: }/ n L3 o( x& P* n8 fdo
; N2 ~0 T) L) ^- C$ k: O* Y5 I depart_time := schedule[now_depart_num];% F ~* ^, V5 Z5 T0 k3 {
waituntil EventController.simTime = depart_time; " Y; _& _+ L" I f2 j2 z' I
。。。
) U2 P2 ~9 X5 f: D% S8 j2 ]" N. L又会出现syntax error near line 5 at <;>!# ~+ [/ V$ V' h/ B5 o$ @& y7 r7 ~
* t5 v r: q# I4 G4 u( C各位大侠帮帮忙,或者教我怎么改程序的错误,或者教教我用别的方法实现我的目的,谢谢了! |
|