|
|
我写的一个程序想实现在IObuffer中的MU按时刻表exit,若需要exit的时候IObuffer中没有MU,那一旦IObuffer中有MU就立即exit。IObuffer的名字是zhuZhan,程序如下:
4 n3 t1 R) q+ S) s& W3 tis
4 a; k& {( R6 g. j+ I4 ~do
0 [: Y3 g/ {' P! E& E waituntil EventController.simTime = Schedule[now_depart_num];- E0 c# S3 n& ~9 H- h7 k e& q
if zhuZhan.empty = false) U7 x& i3 j+ e* K/ E
then . N9 M" l8 ?0 |* u
zhuZhan[1].move();" a; n" b* Y. F( t8 E7 W/ @/ _ d, z( K: d
now_depart_num = now_depart_num + 1;
7 Q; ]8 g# g1 e+ u: s else+ ]3 L+ O5 {2 s: T7 X
waituntil zhuZhan.empty = false;
) ?3 E, A2 {( B* z. _ zhuZhan[1].move();
0 ~% o3 F9 \( G. U! v3 q- v5 V, t; w8 G now_depart_num = now_depart_num + 1;) w& B# k- m/ K+ n5 R. p
end;
6 s8 c# `: y5 \8 [ C4 i. S ~end;
. E8 x& d2 E! \ I7 T' A+ z! b/ D5 l$ @4 L* D7 D1 `0 h3 ?7 Y
但是一直说有错误,提示信息是:access to tables is not allowed within a waituntil statement.
/ B% Z4 N( q/ Z O若是增加一个局部变量,如下:
& ^/ X3 _! O! n; a) f+ ~& g0 M$ ^is , x4 o0 B0 o" _, f/ T
depart_time : time;
9 T' x! [3 e# [3 G3 ado 4 K y! d$ X+ f7 z0 O
depart_time := schedule[now_depart_num];
( O8 s6 {5 x1 U. o6 H waituntil EventController.simTime = depart_time;
i, s4 S8 G+ c; D: g 。。。
3 j: |. M; v# |( i+ Z! j8 h又会出现syntax error near line 5 at <;>!7 [5 P* o! _4 `
- H8 A3 q7 ^& E% e各位大侠帮帮忙,或者教我怎么改程序的错误,或者教教我用别的方法实现我的目的,谢谢了! |
|