描述:
定义子程序功能块。
语法:
func fn(arg,...)
…
{return xi}
备注:
定义一个子程序功能块,完成计算后,可以返回或者不返回结果。
子程序名称为fn,由func fn(arg,...)作为起始符,子程序内容是以func fn(arg,...)所在单元格为主格的代码块。通过return返回函数的运算结果并结束函数代码块,子程序执行完未碰到return将缺省返回代码块中最后一个计算格值。
参数:
fn |
子程序名称。 |
arg,… |
定义参数。 |
选项:
@i |
子程序中无递归计算时,使用该选项可提高性能。 |
@m |
子程序中只有一句表达式时,使用该选项可提高性能。 |
@o |
使用@o选项定义子程序,调用式中fn@o中的o将作为第一个(字符串)参数,调用式中没有指定选项时则认为第一个(字符串)参数传递为空值。 |
返回值:
程序的计算结果
示例:
|
A |
B |
|
1 |
func ft(arg1) |
|
定义一个名为ft的子程序,arg1为子程序中的参数,程序计算完成后返回B2的值。 |
2 |
|
=arg1*10 |
|
3 |
|
return B2 |
|
4 |
=ft(2) |
|
调用ft子程序,传入参数值为2,结果返回20。 |
使用@o选项:
|
A |
B |
|
1 |
func ft@o(s,n) |
|
使用@o方式定义一个名为ft的子程序,s、n为子程序中的参数,程序计算完成后返回B2的值。 |
2 |
|
=left(s,n) |
|
3 |
|
return B2 |
|
4 |
=ft@Hello(3) |
|
调用ft@o子程序时,将Hello作为第一个字符串参数值传入,结果返回:"Hel"。 |