设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7014|回复: 10

[求助] Method方法运行时总是提示语法错误

    [复制链接]
发表于 2017-4-26 18:00:11 | 显示全部楼层 |阅读模式
本帖最后由 艳玲 于 2017-4-27 16:49 编辑 , y9 Q2 `7 S" v* J

2 p' K& t9 T# x6 n: ^) h1 M大家好,最近学习PlantSimulation,6 v& ~: ^4 n, a" z
但是method方法运行时总是提示语法错误,$ g' m8 B; D5 w" J6 I- ]. A$ f
即使是示例程序也是如此,
4 W+ T, i. u2 n, ~如果不添加method方法,仿真正常运行
% T" f5 ]7 G: B- C( I1 Q8 {+ g想问问大神或者遇到类似问题的朋友,
. q: ]7 V; u5 ?0 c5 d有没有什么解决办法,大家一起交流进步!
$ F6 g1 h+ U! d, |[补充1]我想可能是method没有编译,在v13中找不到编译选项
# C7 N: k1 Y3 p/ C/ F3 Z. |- t! q[补充2]下面的代码运行到第一行就提示语法错误7 Q  B* ]1 T+ Z
var i:real
. F4 o' s1 q4 D# h# u, Ui:=z_uniform(1,0,1)
% F$ z" _9 e0 H7 H0 |# |5 p@.createattr("type","string")2 r7 V5 c: [4 f/ O+ K5 V
if i<0.2
- B* X* y- e) o  V- w7 o( q# n        @.type="red", o+ W# [$ L/ H$ L. B
        PartRecord["Number",1]+=1
9 p4 H" \$ B* Aelseif i~<=0.5 and i>~=0.2
- K3 z# X& ~* b; y2 I! `+ Z        @.type="green"
. n0 J1 n. S9 v; C1 V        PartRecord["Number",2]+=1
$ R; [: u* \% q' R4 selseif i>0.5
8 C9 u) t- p) S' P" x8 O: f                @.type="blue"
' k2 X, F. m7 v" _# h& R% V                PartRecord["Number",3]+=1
- e5 p3 N$ ~: t2 dend+ G! G6 n: y& K" ?' x

, I$ m$ o' `5 `( s- M
 楼主| 发表于 2017-4-26 22:42:01 | 显示全部楼层
本帖最后由 艳玲 于 2017-4-27 11:06 编辑 , g6 a. x* R+ f% C" @0 m$ X
6 o6 S& @' U+ l/ L3 Z" F
C:\Users\Administrator\Pictures\plantSimulation\question1.75 }. Z4 }$ Q# o" y( H0 G
C:\Users\Administrator\Pictures\plantSimulation\question1.80 W2 ?' |2 R% }4 N
C:\Users\Administrator\Pictures\plantSimulation\question1.9
# `6 w) I4 }) }3 E& n- s
 楼主| 发表于 2017-4-27 15:28:51 | 显示全部楼层
bdsy1331 发表于 2017-4-27 15:142 }* ]& x) Z$ w( n
就不能把代码粘贴上来么
0 \% j. F; g8 J# G- C! a% `
慢慢往后学,运行出一个带method的模型了,$ t. g0 F; r9 i- r* z" A
前面的我有时间再搭一遍# p6 g9 H$ {$ |3 q! Y: ?
之前因为代码太简单
7 i* b  U8 [; [& j7 [. ?  A% g一直把关注点放在软件设置上
9 l# `3 f( n" M' R" g6 {6 Z用的13v  看了SimTalk22 c. ]/ ?. V' H+ D8 D' j/ A
之前一直看的8v的教材
 楼主| 发表于 2017-4-27 15:28:59 | 显示全部楼层
本帖最后由 艳玲 于 2017-4-27 16:50 编辑 ) h5 s$ Q/ _* z- P- J+ ~9 A, q

  ]7 S$ Z- C1 H; e5 x7 Xduplicated
 楼主| 发表于 2017-4-27 15:29:21 | 显示全部楼层
慢慢往后学,运行出一个带method的模型了,
% v+ K6 N. O7 f7 n' v0 Q前面的我有时间再搭一遍) N. v) F" C  N$ ^5 v
之前因为代码太简单
4 D* Q- q9 [- z2 |2 e一直把关注点放在软件设置上
/ o$ ~+ x9 H6 I; |' O用的13v  看了SimTalk2
* V  N! O" u8 h$ H# `8 t之前一直看的8v的教材
 楼主| 发表于 2017-4-27 16:47:46 | 显示全部楼层
var i:real) j; S+ R( o2 |7 n: H! O
i:=z_uniform(1,0,1)
( |1 P( }% R8 y1 Y* h; C$ I@.createattr("type","string")% M6 C: b# _" m
if i<0.2: P; S: T  c6 K7 w
        @.type="red"* n- g3 ?+ s; c% E4 X- u' B
        PartRecord["Number",1]+=1) @6 }. S0 z4 [
elseif i~<=0.5 and i>~=0.2
# S& q" {4 q, Q$ Z$ p9 g        @.type="green". `9 K! V' O9 Y( |2 N
        PartRecord["Number",2]+=1
# |" f+ a% `6 K4 m  Gelseif i>0.5* Z8 u! z1 L  ]/ m
                @.type="blue"
8 w# h, C5 u1 h- T) E( m                PartRecord["Number",3]+=1
* ^! l( y; Y, V7 n% yend
: i# u; ?3 @/ O) ]2 [这个运行到第一行就提示语法错误
发表于 2017-4-28 09:29:17 | 显示全部楼层
修改如下應該就沒問題
0 K$ X& o$ V: i# P+ |$ l% g
* |6 K8 e/ d% N- u% Kvar i:real: j# g$ f- r/ j* j! x* }5 v: Y
i:=z_uniform(1,0,1)
' Z- f. g6 e6 b@.createattr("type","string")/ O0 |: P* l7 l( i6 M
if i<0.2
) O5 x* d3 e) w" W/ h) g% d8 H        @.type:="red";
8 |, E, C) ~$ A$ j/ p$ f& I3 r        PartRecord["Number",1]+=1& g. p9 v; j1 ?
elseif i<=0.5 and i>=0.2
7 b9 n. j$ R# Y/ h( g- Z/ L        @.type:="green";3 f% Y* i/ k& y: w) a
        PartRecord["Number",2]+=1
$ ~6 k* T8 Z& U" a0 felseif i>0.5
) V8 |  E1 g# t3 ]/ p3 n: s% t                @.type:="blue";
2 g0 i2 R6 a" [               PartRecord["Number",3]+=14 u' `- j& B: k
end
 楼主| 发表于 2017-4-28 14:56:22 | 显示全部楼层
devin 发表于 2017-4-28 09:299 w/ ?& n. {3 {$ o6 h, V" b8 ^
修改如下應該就沒問題
% c+ \" A1 S5 F9 O6 R7 m# `, x3 X  a* R2 q+ A' d
var i:real

0 U" d3 ]. P- o* E/ o谢谢指导
 楼主| 发表于 2017-4-28 15:55:18 | 显示全部楼层
taoyifei2000 发表于 2017-4-28 01:11
! K; X! S2 U- y2.0的语法变化很大,目前也不算熟,但是粗看你这段代码,问题还是有的,比如赋值@.type="red",应该用:=赋 ...

7 u, F/ A/ |1 C" ?谢谢指导
 楼主| 发表于 2017-5-9 17:28:47 | 显示全部楼层
var i:real
1 e2 V" G5 f# Y" j0 P7 R5 ti:=z_uniform(1,0,1)4 u+ s5 x! n/ O
@.createattr("type","string")7 p3 M6 L# h8 V9 y
if i<0.2
! F9 y2 n' c5 \% B8 n' w4 e        @.type:="red": t4 T/ O( X+ X6 i1 Q3 K
        PartRecord["Number",1]+=17 @; f$ D$ A, e1 X% o
elseif i<=0.5 and i>=0.25 t" [* s1 p6 u0 R9 x4 y  m3 ~
        @.type:="green"0 p+ y( y& ?+ u: Y
        PartRecord["Number",2]+=17 [8 e3 H. s5 y0 ?; |& c' f
else + c* V2 s9 {; h8 N
        @.type:="blue"
1 q) O* y' |- U        PartRecord["Number",3]+=1
/ R% I; I3 X# n  X4 |end+ L9 g8 n4 p8 {. f7 t, P- _

" e" u# P+ M) [5 Y4 @deleteMovables
! m7 C2 m8 S0 \9 _( }PartRecord.delete({2,1}..{2,3}): Y# v' Y, h7 |2 }% F  Z5 X8 ]
这是对的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-8-3 17:53 , Processed in 0.019509 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表