• 本站域名:OceanCoder.cn 若您喜欢本站,请添加至收藏夹!
  • 网站少部分资源来源自网络,如有侵犯您的权益,请联系站长删除!
  • 本站所有文章,除特殊标明外,皆为本人原创,转载请注明出处,谢谢合作!
  • 本站所下载的资源,若无特殊说明,使用统一解压密码:oceancoder.cn
  • 本站已实现布局自适应,支持手机端、pad端访问,欢迎体验
  • 本站部分资源可通过微信公众号留言获取,欢迎体验

[PlantSimulation]#C009#Simtalk语法学习-S01-匿名标识符

PlantSimulation OceanCoder 2020-04-26 104 次浏览 0个评论

方法内的匿名标识符


1、@

@ 代表触发控件的MU。当您在物流对象中输入入口或出口控制时,匿名标识符@允许您访问进入或准备退出该对象的MU。

@.move(ParallelProc.succ(3));


2、root

代表frame层次结构中最顶层的frame。从这里开始,您可以向下浏览模型中的框架层次结构。当您不知道根frame的名称时,这个标识符特别有用。


3、basis

代表一个Class Library,只能通过比较(=或者/=)来使用它

if location = basis 
    -- in the class library
else
    -- inserted into a Frame 
end


4、RootFolder

匿名标识符RootFolder指定类库中存储方法的文件夹,许多对象使用这些方法。这样可以避免浪费主内存,避免在进行Plant Simulation时使用长路径,然后只从类库调用此方法一次,而不是从该方法的大量实例中调用。

当您在方法中使用匿名标识符RootFolder时,RootFolder指定类库中的一个文件夹,您已经为该文件夹设置了属性RootFolder。在本例中,Plant Simulation从方法的类开始,在对象层次结构中向上搜索这样一个文件夹。

例如,我们可以将文件夹信息流的属性RootFolder设置为true。然后在文件夹InformationFlow中复制对象方法。Plant Simulation创建类方法1。然后将方法对象Method插入到框架中,并输入rootfolder。作为源代码,Plant Simulation从类库中调用Method1。当我们把这一帧插入另一帧时也是这种情况。

您还可以在控制方法中使用匿名标识符RootFolder。在这里,Plant Simulation查找您为其设置属性RootFolder的文件夹,首先是您将为其编写控件的对象插入其中的框架的类。


5、current

返回方法对象所在的框架。通过这种方式,您可以轻松地将框架的位置输入到列表和表中,或者将其作为参数输入到其他框架中的方法中。

您还可以使用current来区分具有相同名称的局部变量和全局变量。

参数名标识局部变量,而current.name指定全局变量。


6、self

代表当前执行的方法自身。可在以后可能重命名方法时使用self。

否则,您可能必须将先前名称的每个实例更改为新名称。

self.methcall(60);
self;      -- returns the path to and the name of the Method
self.Name; -- returns the name of the Method only

在用户自定义参数的数据类型为Method时,self代表该方法自身。可以使用 self.~ 来访问用户自定义的其它属性,The return value has the data type object

self.~.pause := true; -- pauses the object for which you defined the user-
                      -- defined attribute


7、?

代表调用该方法的物料流对象或控件(方法)。使用匿名标识符?允许一个控件在不被多个对象修改的情况下使用。

就是一个方法可以被挂到多个对象下使用。

?.Cont.move(E2); -- moves the contents of the object that 
                 -- called the method to the object E2


8、Location或者~

返回位于层次结构中Path指定的对象的上一级的对象。(方法对象所在的框架的上一层)

print "shaft is located on:", @.Location;
print "shaft is located on:", @.~;


已有 104 位网友参与,快来吐槽:

发表评论