|
|
我写的一个程序想实现在IObuffer中的MU按时刻表exit,若需要exit的时候IObuffer中没有MU,那一旦IObuffer中有MU就立即exit。IObuffer的名字是zhuZhan,程序如下:+ d8 {. z6 J$ |: @2 E
is . R' i. W2 ~( k
do ; D5 A; p5 s# Q6 ]9 c
waituntil EventController.simTime = Schedule[now_depart_num];
/ N! k; W Q- s. a, _ if zhuZhan.empty = false
" P- D5 H R# p3 F" w then + C; }# j n% v D0 c$ i) i
zhuZhan[1].move();8 t2 i* S! s. d/ W& k- ~$ G7 f3 N% u
now_depart_num = now_depart_num + 1; " K, d" X% r9 I) Z
else
7 G( u i/ Q( H1 j1 l# A7 C waituntil zhuZhan.empty = false;
. P- q: F3 E! U6 I zhuZhan[1].move();# M, ]( P7 }; U% L _
now_depart_num = now_depart_num + 1;
: J0 Z, T; f6 M$ n: `% k' x% E2 N6 |% P end;
" P2 o m6 J/ d* P# O2 ]end;7 f) E" K6 @9 e3 R+ r
& H4 R( ?' p5 v; ^0 D1 i) a但是一直说有错误,提示信息是:access to tables is not allowed within a waituntil statement.
2 R8 B; T1 u6 Z: T3 n) {若是增加一个局部变量,如下:
7 G6 r6 u: E: G& Nis % b) q. o" }) a
depart_time : time;
2 m/ B6 u" q) w( V. W, u# k( udo
8 }3 N# s: {3 }1 s& a depart_time := schedule[now_depart_num];
! @: L1 j1 O- ?0 p0 \ waituntil EventController.simTime = depart_time;
' v2 ]3 q0 g% W' J S 。。。
% Y. k% F$ U- \, z( G0 q& e又会出现syntax error near line 5 at <;>!0 k5 m0 U. C# R8 z6 f$ ?$ i2 B* g
/ E* c. ~+ J4 O6 g) R
各位大侠帮帮忙,或者教我怎么改程序的错误,或者教教我用别的方法实现我的目的,谢谢了! |
|