设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4224|回复: 10

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

    [复制链接]
发表于 2017-4-26 18:00:11 | 显示全部楼层 |阅读模式
本帖最后由 艳玲 于 2017-4-27 16:49 编辑 ' l" P4 q9 m# |$ I$ O, Q

4 {7 z5 W' e+ W' A大家好,最近学习PlantSimulation,
! _2 a2 {# z; \1 A; m! p4 M9 U但是method方法运行时总是提示语法错误,
0 L1 Z. y2 U, r3 W/ |即使是示例程序也是如此,
* Q- W& o2 h! T* j6 I# `0 v如果不添加method方法,仿真正常运行
$ ^% s# ^+ z/ a2 F想问问大神或者遇到类似问题的朋友,
# i" J0 A7 t& G0 f; P' \; r有没有什么解决办法,大家一起交流进步!( m+ G3 t8 Y( q* i6 K
[补充1]我想可能是method没有编译,在v13中找不到编译选项. b5 g# t  v1 A. ^  U
[补充2]下面的代码运行到第一行就提示语法错误
: h0 X/ w' p) _( E4 Q# B6 }var i:real# w) U8 v  I2 O" R4 r
i:=z_uniform(1,0,1)
) e8 `0 M2 r' i& H' r@.createattr("type","string")
3 ^: X0 N! [! f- C8 p% G  Oif i<0.2+ W# p) L3 r. C8 }
        @.type="red"6 t+ A( T& q: W& P2 K' b
        PartRecord["Number",1]+=1
6 h( V7 L3 x0 n& W/ {4 ^% ~0 }( f3 pelseif i~<=0.5 and i>~=0.2
$ u, [: ?" `  A; i- B        @.type="green"  \% p+ q$ ]4 |) c9 c. `
        PartRecord["Number",2]+=1$ f! @1 Z) o0 C# ]/ n
elseif i>0.5
/ D0 ~$ e( W! g2 o  u                @.type="blue"
8 a& U: C6 ?& c                PartRecord["Number",3]+=1
/ ^* n, j' t  I$ e! @* Yend
  i# Z) d; e# O* F0 B/ d: ?* c
- c' |9 }$ _6 y' h& h/ k
 楼主| 发表于 2017-4-26 22:42:01 | 显示全部楼层
本帖最后由 艳玲 于 2017-4-27 11:06 编辑 ) X( n8 |2 f9 {: ?% _* r1 M

$ Q5 B6 b! U! H3 I" T6 M+ qC:\Users\Administrator\Pictures\plantSimulation\question1.7
6 g2 W3 ~6 O7 ^! x: |- UC:\Users\Administrator\Pictures\plantSimulation\question1.8
8 t; _4 u/ T3 ^' q# w4 oC:\Users\Administrator\Pictures\plantSimulation\question1.9! U) L' k9 g- R) R8 p4 Y
 楼主| 发表于 2017-4-27 15:28:51 | 显示全部楼层
bdsy1331 发表于 2017-4-27 15:14; ^; ?/ c! a. a7 f6 i5 c* R
就不能把代码粘贴上来么
7 F8 x- U# V- v
慢慢往后学,运行出一个带method的模型了,
& c: g* g9 G9 i/ `( N前面的我有时间再搭一遍4 I% [0 w. y8 ~5 s5 R0 _2 M3 y
之前因为代码太简单
$ O  \; y) U" u5 ?& K一直把关注点放在软件设置上
# p$ v" M  |0 W2 |1 S用的13v  看了SimTalk2: f/ P$ a. |4 ?$ |
之前一直看的8v的教材
 楼主| 发表于 2017-4-27 15:28:59 | 显示全部楼层
本帖最后由 艳玲 于 2017-4-27 16:50 编辑 . T, t* e$ X" H* x( a7 K
8 ~/ Y  q6 T7 X
duplicated
 楼主| 发表于 2017-4-27 15:29:21 | 显示全部楼层
慢慢往后学,运行出一个带method的模型了,' L( b" S  x' M; s% h* Y
前面的我有时间再搭一遍* m( s8 I& V% G! a' m
之前因为代码太简单
5 h/ [% m! q8 v- D$ F( f4 Z$ G/ S一直把关注点放在软件设置上8 b7 W6 G5 @" g/ G
用的13v  看了SimTalk2
8 o0 y$ T$ F  G; P& {6 m之前一直看的8v的教材
 楼主| 发表于 2017-4-27 16:47:46 | 显示全部楼层
var i:real0 K; o2 ?& ]! w+ U* s8 {
i:=z_uniform(1,0,1), H; D6 r/ C$ \( b# e/ v/ E4 E- W% t
@.createattr("type","string")
4 B$ ^) r" y$ Z' l+ m" zif i<0.2
7 A6 L  w* q: ]4 x        @.type="red". u& Z) R' M: Z0 A: R: A
        PartRecord["Number",1]+=19 v# U5 ^; H& Z7 a  X0 s
elseif i~<=0.5 and i>~=0.20 @: j% e& v, E% m
        @.type="green"
$ s7 Y2 O: B" I( `        PartRecord["Number",2]+=1" x* [" p( L, a. ^- G5 Q
elseif i>0.5
3 E8 m$ g2 G/ d$ u6 _0 s9 r, I                @.type="blue"( E' f) V7 O5 r6 f
                PartRecord["Number",3]+=1
% F7 Z' [& W6 Tend
, ^3 m; s: y/ k4 W- K4 |' c这个运行到第一行就提示语法错误
发表于 2017-4-28 09:29:17 | 显示全部楼层
修改如下應該就沒問題$ D6 j1 ^/ G0 t( f7 C" {

4 q$ o' ~2 E: x  |2 I7 t( U: uvar i:real% X, T0 g3 g; p/ I5 m/ c
i:=z_uniform(1,0,1)
0 l0 s# c/ Y# w2 G& J3 S@.createattr("type","string")! ?3 D6 a! v. r1 k, R6 a4 z. w
if i<0.2
* j! i& b3 O1 p        @.type:="red";' S5 t- F5 ~! u/ g. L" H
        PartRecord["Number",1]+=1
4 L' F7 M( U+ t  s, M0 D( O' [elseif i<=0.5 and i>=0.2/ d* D. q6 p$ V) Q
        @.type:="green";
# }! x1 _1 f% t        PartRecord["Number",2]+=1  C/ r$ V1 b# A8 g& W( d
elseif i>0.5/ V, z2 x" E5 f/ V5 v0 Z/ ^" O
                @.type:="blue";- U! i3 Q4 h* U! P- u
               PartRecord["Number",3]+=1# G( z/ U1 V3 [3 L/ Q9 X
end
 楼主| 发表于 2017-4-28 14:56:22 | 显示全部楼层
devin 发表于 2017-4-28 09:29
% B. R3 o* y9 B8 d( t修改如下應該就沒問題) b$ z# h6 N: `5 [7 W9 L# F( L: U

. P6 j% Z1 I6 ?  H0 E4 ]( `$ ?var i:real

7 C% Y+ C: `5 k" v. ]1 f3 o8 u0 |- O谢谢指导
 楼主| 发表于 2017-4-28 15:55:18 | 显示全部楼层
taoyifei2000 发表于 2017-4-28 01:11
8 g, T( W/ W! A8 |2.0的语法变化很大,目前也不算熟,但是粗看你这段代码,问题还是有的,比如赋值@.type="red",应该用:=赋 ...
" ]5 t! w: B% s  k' I9 H0 Z
谢谢指导
 楼主| 发表于 2017-5-9 17:28:47 | 显示全部楼层
var i:real
) \( x# X. l9 n- a, J) ^( ]( ni:=z_uniform(1,0,1)
+ S5 F# k( U4 a/ G  \* i* O@.createattr("type","string")& e. P: I: u9 y. _8 E. w
if i<0.2
# G0 K! I# u2 {$ j        @.type:="red") D) W; L( Y* R3 P2 g
        PartRecord["Number",1]+=13 Q# c9 C8 A7 x" p. [4 ], X) x
elseif i<=0.5 and i>=0.2$ \8 ?" R. r* H4 c: s) V3 n
        @.type:="green"4 y9 @3 s9 y) z3 N) a" A) h
        PartRecord["Number",2]+=1
9 J* g7 H. R5 u7 u  B* m6 xelse
0 q( J2 y/ x8 r, v        @.type:="blue"
7 u4 `$ n* m& m: R        PartRecord["Number",3]+=1
8 ?) q) q0 `+ a! Mend
$ j% a% U# b1 o
) D2 R% S2 Z' BdeleteMovables
. ^* j' ~- }$ n. G: E6 c+ s- BPartRecord.delete({2,1}..{2,3})+ r( Z/ T4 `( u! J: z
这是对的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-31 01:41 , Processed in 0.016403 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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