百宝云基础语法新手教程第一章第四节自定义功能函数

第一章:基础语法(四)

       通过这章的基础介绍,希望大家能够基本上掌握百宝云的语法与使用方法,能够根据自己的需要编写出自己的云服务。这章的知识可能有点无味,但是却是百宝云的基础所在,所以大家还是好好把基础打下,这样才能更好更快的学习后面的知识。

    第四节:自定义功能函数

      通过这节课我们可以掌握自定义函数的定义与使用方法,同时理解参数与返回值的作用,这样我们才能在实际的开发过程中,正确的使用自定义函数。

    4.1 概念

    功能是百宝云的基本模块,通过对功能模块的调用实现特定的功能。百宝云中的功能相当于其它高级语言的子程序,在其他高级语言中,比如在C、C++中,称为函数。

    允许用户建立自己定义的功能,用户可把自己的算法编成一个个相对独立的功能模块,然后用调用的方法来使用功能,可以说百宝云的全部工作都是由各式各样的功能完成的。

    由于采用了功能模块式的结构,百宝云易于实现结构化程序设计,使程序的层次结构清晰,便于程序的编写、阅读、调试.。

 

   (关键字,function,end  功能  结束)

   自定义函数分下列四类:

   无参函数

   有参函数

   无返回值函数

   有返回值函数

   下面我们来分别学习这四类函数,并且希望大家能掌握这四种函数的使用方法。知道在什么情况下选择什么方式函数。

 

   4.2 无参函数

    顾名思义,这是一个没有参数的函数,这种方式的函数,比较简单,也容易掌握。

    例如:

   功能 求1到100的和2()

    变量 num = 0

    遍历(变量 i = 0; i < 101; i++)

        num = num + i

    结束

结束

 

    4.3 有参函数

    有参函数就表示函数有1个或者以上的参数,参数个数根据用户的需求决定,但是建议不要超过15个。因为参数越多,调用起来就越麻烦,约束也越多。

     在调用有参函数时,遵守如下规则就可以了:定义函数的时候,声明了多少个参数,调用的时候,就传递相应个数的参数即可。

    在定义函数的时候,我们要先估计下需要多少个参数,这样才好写代码。如果在后期维 护的时候,需要增加参数时,可以在原代码的基础上直接增加参数,也可以重新定义一个函数,把原来代码复制过来,进行修改,这样的好处就是不改变原来的代码,相当C++里的函数重载。

    例如:

功能 计算中间距离(点1,点2)

    var 中间距离 = (点1 + 点2) / 2

    sendtextmsg("中间距离为:" &中间距离)

结束

 

    4.4 无返回值函数

     当不需要接收或者判断函数的执行结果时,就可以使用无返回值函数。

    例如:

    功能 求1到100的和()

    变量 num = 0

    遍历(变量 i = 0; i < 101; i++)

        num = num + i

    结束

结束

 

    使用这样的方式,如果需要得到函数的执行结果,那么我们就需要定义一个全局变量,来存储这个计算的结果,之后在函数外面进行调用。代码就要改成下面这样的。

变量 结果值 = 0

功能 求1到100的和2()

    变量 num = 0

    遍历(变量 i = 0; i < 101; i++)

        num = num + i

    结束

    结果值 = num

结束

 

    这样虽然可以得到函数的执行结果,但是却需要定义一个全局变量来处理,如果是在多线程里调用这个函数的话,那么我们还得加锁(临界区,这个知识到后面多线程再讲),防止多个线程在同一时间修改变量值,导致程序在读取这个变量值时,出现异常数据。

因此,如果我们需要把函数的执行结果返回出来的话,则使用有返回值函数方式。

 

   4.5 返回值函数

    顾名思义,这个函数是有返回语句的,它可以把函数的执行结果返回出来,以便调用者知道函数的执行结果,之后做相应的处理。

例如:

功能 求1到100的和()

    变量 num = 0

    遍历(变量 i = 0; i < 101; i++)

        num = num + i

    结束

    返回 num   // 这里把计算的结果返回,以便函数外部接收

结束

 

功能 处理指令()

    变量 结果 = 求1到100的和()    /这里是调用函数,并接收函数的返回值存储到结果变量

    发送文本消息("计算结果:" &结果)

结束

 

    4.6 有参函数的扩展

     默认参数

    在百宝云提供的API里,我们发现有很多的命令都存在默认值,这又是什么意思呢?

    意思就是我们在调用的时候,如果不写参数的话,那么百宝云会直接使用默认的值做参数,如果调用的时候写了参数值,那么就不使用默认值,而使用指定的参数值。

   如:获取错误信息(类型=0) 这个命令。在调用的时候,这样写就是使用的默认值:获取错误信息(),而这样写的话,就不使用默认值:获取错误信息(1)。

 

    那么自定义函数的默认值又该怎么写呢?很简单,写法和云库里提供的API写法差不多。如下:

    功能 计算和(数值1 = 50,数值2 = 100)

    返回 数值1 + 数值2

结束

 

功能 处理结果()

    变量 结果1 = 计算和()  // 这个使用默认值,结果1的值为 150

    变量 结果2 = 计算和(100,200) // 这个不使用默认值,结果2的值为 300

    变量 结果3 = 计算和(100) // 这个参数1不使用默认值,参数2使用默认值,结果2的值为 200

结束

 

     引用传值、参数返回值

    函数里,返回语句只能返回一个值,如果需要返回多个值的话,就需要把这些值拼接成字符串或者是存放到数组里,之后进行返回。可是当我们要返回的数据个数不是很多时,我们可以使用参数返回,即参数的引用传值。

    使用时,我们只需要在参数的前面加符号”&”即可。

    例如:

    // 这种写法会改变传入变量的值

    功能 修饰字符串(&内容)

    内容 = 字符串替换(内容,"a","0")

    内容 = 字符串替换(内容,"b","1")

结束

   // 这种写法不会改变传入变量的值

    功能 修饰字符串2(内容)

    内容 = 字符串替换(内容,"0","a")

    内容 = 字符串替换(内容,"1","b")

结束

功能 处理字符串()

    变量 姓名="abin"

    修饰字符串(姓名)  // 这个函数执行完成之后,姓名这个变量的值就变为01in了

    修饰字符串2(姓名)  // 这个函数执行完成之后,姓名这个变量的值不变,还是01in

结束

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值