设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 954|回复: 12

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

    [复制链接]
发表于 2017-4-26 18:00:11 | 显示全部楼层 |阅读模式
本帖最后由 艳玲 于 2017-4-27 16:49 编辑 4 U1 k5 y9 d  [( i' k" K1 v( N

" q( {' L7 K' s! ?8 _3 S# H大家好,最近学习PlantSimulation,
1 V7 }: y; @" b' C  k3 f! ^但是method方法运行时总是提示语法错误,
, _  u& w8 h4 p# T5 O即使是示例程序也是如此,% n" N# @% ~: y& P- [
如果不添加method方法,仿真正常运行
  F9 c' [9 e. b! X) H( g想问问大神或者遇到类似问题的朋友,
2 _8 v/ i  ~4 m9 A有没有什么解决办法,大家一起交流进步!
1 s; {7 Y$ J5 V+ T/ J[补充1]我想可能是method没有编译,在v13中找不到编译选项6 ~9 Z! I9 P9 w# y* Q
[补充2]下面的代码运行到第一行就提示语法错误+ r* _; l7 `7 X8 |9 ?
var i:real! J+ b$ s& l3 P3 j% t" {1 g& e
i:=z_uniform(1,0,1)
' k& ~8 X( I$ M) F/ E6 t@.createattr("type","string")0 }! a2 ~- ^% I+ h
if i<0.2
6 p) G2 b# B, |# i- x9 J        @.type="red"+ G1 i- \/ ~' W
        PartRecord["Number",1]+=10 C+ s1 @; D1 A* ?1 c% c
elseif i~<=0.5 and i>~=0.2
, f, w4 {0 Y6 w  h% }% Z        @.type="green"2 ]; s; U) U# ?+ C
        PartRecord["Number",2]+=1
+ J/ K- t* \0 y$ `* H" N% Telseif i>0.5
& `, H8 h9 A! [& C3 J, |                @.type="blue"- B: u  D2 [/ I
                PartRecord["Number",3]+=11 v) M* {' S- a, t# `
end/ f9 Q3 E( h. K9 Z* d; K) d+ g
* G5 s- I2 x/ l2 a0 `) r
发表于 2017-4-26 22:12:48 | 显示全部楼层
建议可以把问题截图,描述清楚,这样别人才能帮到你。
 楼主| 发表于 2017-4-26 22:42:01 | 显示全部楼层
本帖最后由 艳玲 于 2017-4-27 11:06 编辑
& {% _8 \" B0 R, L  x9 o  W3 O  _* v) `/ P, [! O; a$ f
C:\Users\Administrator\Pictures\plantSimulation\question1.7
" d+ N/ |8 Z4 N/ tC:\Users\Administrator\Pictures\plantSimulation\question1.8' _- r  R0 E7 j% b
C:\Users\Administrator\Pictures\plantSimulation\question1.9
1 ^8 h" s# [0 W1 ^: j
 楼主| 发表于 2017-4-27 15:28:51 | 显示全部楼层
bdsy1331 发表于 2017-4-27 15:14
% a( ?6 w+ S0 S; j4 C; U就不能把代码粘贴上来么

0 o5 L( v6 j" |: w0 l" q# Y慢慢往后学,运行出一个带method的模型了,, ^* A/ Q! w- i6 Y( G0 }5 O: W. c$ @
前面的我有时间再搭一遍
/ h: m0 @8 D8 v; s8 e之前因为代码太简单, D, ]% {: G3 a1 T6 o
一直把关注点放在软件设置上* K" f& ^" C9 u8 k. X& d+ |- c
用的13v  看了SimTalk2
7 \% h- Q3 w, ]8 }% }之前一直看的8v的教材
 楼主| 发表于 2017-4-27 15:28:59 | 显示全部楼层
本帖最后由 艳玲 于 2017-4-27 16:50 编辑 + u) o& G' C5 c# z
2 R. T2 @# N% ^  e0 j: E$ f
duplicated
 楼主| 发表于 2017-4-27 15:29:21 | 显示全部楼层
慢慢往后学,运行出一个带method的模型了,
' x/ ~. K# y+ v前面的我有时间再搭一遍* |6 Y; p- P. d: p6 K
之前因为代码太简单2 U' Y- A' g- D( `% ?; S
一直把关注点放在软件设置上: L1 v9 {* Y; r7 ]. \
用的13v  看了SimTalk2
( P% ^$ {; m. K/ `" w+ E/ k4 n& a$ U之前一直看的8v的教材
 楼主| 发表于 2017-4-27 16:47:46 | 显示全部楼层
var i:real: O7 q% o% u& Z6 |; e! z# E9 p' |
i:=z_uniform(1,0,1)$ H9 ]: f* _$ }9 }
@.createattr("type","string")
! u. I9 d, i, J4 hif i<0.2) w) D' E$ N  g0 q. \! I
        @.type="red"6 l8 v  f3 R. {! m- u% t
        PartRecord["Number",1]+=1; I9 R1 i9 }: K- w0 h! ]" j
elseif i~<=0.5 and i>~=0.2" v2 O) Z2 G) J. I
        @.type="green", F; k" s0 B7 Y* R  b- g/ Q
        PartRecord["Number",2]+=12 P5 G3 D( Z8 U$ D, B
elseif i>0.5/ m9 J# E& C8 Y& k2 m' n
                @.type="blue"4 u/ Z! U" d/ w. f+ u0 q- z* V* D
                PartRecord["Number",3]+=1# K4 `' f) y% a4 [
end
6 t( M/ l9 N4 D# t7 ?8 g5 k3 c7 I这个运行到第一行就提示语法错误
发表于 2017-4-28 01:11:50 | 显示全部楼层
艳玲 发表于 2017-4-27 16:47* V; `  s; [& Y" u$ l
var i:real
1 k3 V/ h1 ?, t9 M6 L3 r2 |1 e% Si:=z_uniform(1,0,1)
" w+ W0 X+ F3 T4 @4 W& `3 z@.createattr("type","string")
8 U# a0 A' d, [* F0 K7 E
2.0的语法变化很大,目前也不算熟,但是粗看你这段代码,问题还是有的,比如赋值@.type="red",应该用:=赋值,关系判断i~<=0.5,应该是i<~=0.5。! z) m2 Y" W5 s: D" v  b) p0 W
% r2 A5 |- l$ Q- ?; n* O* J% g, S
一点建议,如果你之前学的老版本,那么就按照老版本语法编码,完成之后自动转换2.0,这样会好一些,慢慢适应。
发表于 2017-4-28 09:29:17 | 显示全部楼层
修改如下應該就沒問題( _0 l0 H) c5 i9 T% f

, b8 S3 G5 y& X7 |! Svar i:real! b: S* x. v( \; E
i:=z_uniform(1,0,1)0 Y4 q2 ?- _" Y2 K( u$ ]
@.createattr("type","string")" F$ `/ [$ j/ a& f
if i<0.2
9 e5 s3 c1 B1 p1 L        @.type:="red";. ]  ?  A( l3 a# L# Z1 J
        PartRecord["Number",1]+=13 Q* P. K# Z+ }) D1 X
elseif i<=0.5 and i>=0.2
  k1 L$ `- `) D5 e  L% Z- v        @.type:="green";- W9 u) u1 f1 |
        PartRecord["Number",2]+=1
+ [. N4 G* g+ o% u$ k- y, [elseif i>0.5+ I4 }; k, y5 f8 D
                @.type:="blue";% O4 e' v$ Z* P) C3 `/ ^7 u
               PartRecord["Number",3]+=1& r+ |! D. [$ R% @" y
end
 楼主| 发表于 2017-4-28 14:56:22 | 显示全部楼层
devin 发表于 2017-4-28 09:29: e2 {, `2 T6 C& {8 \# |& l0 g
修改如下應該就沒問題3 }1 o+ J: q2 P# W5 Q/ o
" N, x" N3 c/ F3 S4 J9 v, e
var i:real

  \, C/ T; \3 i  w$ b谢谢指导
 楼主| 发表于 2017-4-28 15:55:18 | 显示全部楼层
taoyifei2000 发表于 2017-4-28 01:11
; G8 Z' c) R6 L2.0的语法变化很大,目前也不算熟,但是粗看你这段代码,问题还是有的,比如赋值@.type="red",应该用:=赋 ...
) N5 t1 t- n3 E9 s! Y- w# O9 T
谢谢指导
 楼主| 发表于 2017-5-9 17:28:47 | 显示全部楼层
var i:real( M# y4 O& ?5 t8 S" I. U
i:=z_uniform(1,0,1)4 q4 w/ J7 c5 A; ^! c
@.createattr("type","string")
  V* F% ~6 N5 j, T) h2 Aif i<0.2
, C- {$ ^) s/ u        @.type:="red"* R4 n1 h5 b/ k" V8 @# v
        PartRecord["Number",1]+=1, J$ T3 K7 P9 r, Z) D/ H; T
elseif i<=0.5 and i>=0.2
- Q2 O! {0 A& n2 R' R        @.type:="green") Y0 T: \  m# L0 w2 p1 v  L5 y
        PartRecord["Number",2]+=1- c+ t- h0 b7 [* U0 V
else * Z, @, w3 c% t- Y$ h
        @.type:="blue"1 T# C4 l% g2 c% j! z& r
        PartRecord["Number",3]+=1" I  P, Y3 B1 \
end1 X3 E. f( b8 W$ S' c5 N8 l3 Y9 p

5 k' z( j1 D7 S  QdeleteMovables# P7 Y: i* O1 k4 ^$ O" r
PartRecord.delete({2,1}..{2,3})
# D6 S2 d  [  T+ p# B( W这是对的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2018-7-16 11:10 , Processed in 0.038463 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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