大家好,
我想从CRBasic程序中的子例程返回一个值。内置函数可以做到这一点,但我在帮助中找不到任何关于它的信息。
这就是我希望我的函数工作的方式:
var_1=my_函数(var_2,var_3)
有人能告诉我吗?
当做
博·霍尔姆·拉斯穆森
到目前为止,CRBasic还不支持函数,只支持带参数的子程序。然而,CR1000(及其合作伙伴)的下一个固件版本将包括对功能的支持。该操作系统(CR1000的16版)现在随时都会出现在街头,并且应该在第二天左右从该网站下载。作为一名品尝者,这里有新功能支持的帮助(很抱歉格式化):
----
函数/EndFunction声明用于创建用户定义的函数。
语法
--------
函数(可选参数)可选As DataType
返回(表达式)(可选)
退出功能(可选)
结束函数
---------
评论
Function/EndFunction声明类似于子例程声明(Sub/EndSub)。默认情况下,Function是Float,但它可以指定为String(具有可选的*大小)、Long或Boolean。它包括传入可选参数的功能。与子例程声明一样,参数列表描述了局部参数及其类型(Float、Long、Boolean、String)。如果未指定,则默认参数类型为“浮点”。Sub和Function之间的一个区别是Function返回值,而子程序则不返回值。
函数名及其参数的调用与内置函数一样;即通过简单地将它们的名称与表达式中的任何地方的参数一起使用。当调用函数时,参数会复制到函数的本地参数列表中,就像调用子例程时一样。然而,与子程序不同的是,子程序在退出时会将本地参数值复制回传入的任何变量,函数不会进行这种复制,而是返回调用函数的表达式所使用的值。
Return或ExitFunction在运行时退出函数。EndFunction终止Function声明,并在运行时退出该函数。函数返回的表达式由Return(表达式)指定,或者,如果Return未在EndFunction或ExitFunction之前执行,则通过将表达式赋值给函数名称来指定返回值。如果这两种方法都没有使用,则返回NAN。
函数最多可以嵌套两个深度。如果函数声明包含对另一个函数的调用,而该函数又包含对某个函数的访问,则返回编译器错误。