在程序中,不可避免的出现函数的调用,在SimTalk中函数的调用和其他语言的函数调用的方式稍有不同。

在SimTalk中函数是以Method的形式存在的,一个Method只能代表一个函数,不能在一个Method中定义多个函数,而且一个函数可以没有传入值和返回值

函数定义方法:

在 SimTalk 1.0 和 SimTalk 2.0 中传入值和返回值的定义语法不同,下面分别讲解以 SimTalk 1.0 为准, SimTalk 2.0 与SimTalk 1.0 的区别见:SimTalk 1.0 和 SimTalk 2.0 的区别


下面讲解以”hello world”函数为例。

基本调用

当函数不需要传入值和返回值时,可以直接写函数的绝对路径或者相对路径来调用函数。

传入值

传入值为调用函数时的初始化参数值,可为任意的数据格式。调用时需要在函数路径后填写相应格式和数量的变量。

返回值

返回值为函数运算的结果,可以返回任意格式的数据。可理解为一个公式,根据传入的参数(或其他的一些数据基础),返回计算结果。

返回值的确定有两种方式,可以用 “result” 或者 “return” 确定返回值,但是这两个方法有区别。

result 不会打断当前运行的方法,当前函数所有语句执行完成后才会返回参数。即 result 语句后的语句仍然会执行,result 的值也可以被修改。

return 会强制打断当前的方法,立即返回参数,不一定需要执行完当前函数。执行到 return 程序立即跳出,之后的语句不会继续执行。

注意:

传入值和返回值数据类型为Table时,与其他的数据类型稍有不同。除Table外其他的数据类型均为将变量的值赋给函数,而Table为将表格路径赋给函数。

这两种赋值方式的区别在于函数内修改传入值时,Table类型的原始变量的值也会被修改,而其他类型则不会。

 

3 对 “SimTalk 函数调用方法”的想法;

    1. 只能返回一个变量,但是这个变量可以是数组或者表格。用数组或者表格储存多个值返回。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注