功能的理解

功能是TC移动项目应用的基本模块,通过对功能模块的调用实现特定的功能.TC综合开发工具中的功能相当于其它高级语言的子程序,在其他高级语言中,比如C,C++中,称为函数.允许用户建立自己定义的功能用户可把自己的算法编成一个个相对独立的功能模块,然后用调用的方法来使用功能可以说TC移动应用的全部工作都是由各式各样的功能完成的,所以也把TC语言称为功能式语言.

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

(关键字,function,end)

从功能定义的角度看,功能可分为库功能(API)和用户定义功能两种.

1、库功能(API):由TC综合开发工具提供,用户无须定义,也不必在程序中定义,可以在程序中直接调用.

2、用户自定义功能:由用户按需要写的功能对于用户自定义功能,不仅要在程序中定义功能本身,而且在调用的时候,直接写函数名

自定义功能的分类:

第一:根据功能函数有无参数分为:无参数功能与有参数功能.

无参数功能:

function 测试()
end

无参功能:功能定义、功能说明及功能调用中均不带参数主调功能和被调功能之间不进行参数传送.

有参数功能:

function 测试(参数1,参数2)
end

参数的个数可以有多个,用户自己根据需要使用但是一般建议不要超过10个.

有参功能:也称为带参功能在功能定义及功能说明时都有参数,称为形式参数(简称为形参).在功能调用时也必须给出参数,称为实际参数(简称为实参).进行功能调用时,主调功能将把实参的值传送给形参,供被调功能使用.

第二:根据有无返回语句分为:有返回值功能和无返回值功能.

有返回值语句的功能:

function 获取姓名()
返回 "张三"
end

  这样程序在调用这个获取姓名的功能后,就可以获取到这个功能的返回值"张三".

无返回语句的功能:

function 获取姓名()
var 姓名="张三"
end

  这个没有返回语句,那么在调用这个功能的时候,只能单独的调用功能,而不能像有返回值的那样去使用.

在功能的调用时,我们只能掌握以下几点就可以很多的调用了.

1、明白功能的作用,之后使 功能名()的格式进行调用.

2、明确功能的参数个数、各个参数的类型以及作用,之后按照参数的格式传入相应参数即可.

3、确定功能是否有返回值,没有则直接调用方法即可如果有返回值则确定返回值的作用,需要返回值做处理则使用变量存储返回值,不需要返回值就可以像无返回值那样直接调用即可.

掌握这几点,基本上可以熟练的使用功能了.

功能参数详解

在TC综合开发工具里面,功能的参数有如下几种形式:

1、无参数功能

function 测试()
end

     无参功能:测试()功能没有参数,那么在调用的时候,就不需要传入值。

2、有参数功能,但是没有默认值与引用传参

function 测试(参数1,参数2)
end

        有参功能:测试()功能有2个参数,那么在调用测试功能时,需要传入2个参数。

3、有默认参数的功能

function 测试(参数1,参数2=0)
end

  测试功能有2个参数,第1个是参数没有默认值,第2个参数带默认值,那么在调用这样方法的时候,既可以省略第2个参数,只传一个参数,也可以写2个参数传入如上的调用方法有下面2种,其效果是一样的。

测试(100)// 程序会使用默认值处理

测试(100,0) // 程序不使用默认值,而使用传入的值,只是值于默认值相等。

注意:如果参数中某个参数设置了默认值,那么这个参数后面的所有参数都必须设置默认值,否则在编译的时候,编译器会提示你参数错误如下的写法是错误的:

function 测试(参数1,参数2=0,参数3,参数4)
end

  上面的错误代码修改下就正确了。

function 测试(参数1,参数2=0,参数3=0,参数4=1)
end

  

4、引用传参的功能

引用传参的概念来自C++的语法,它的作用在于:传入参数的值会在功能里被修改,而这个修改不会因为功能结束而变化,但是非引用的参数在功能里无法修改的。

在功能需要返回多个参数时,我们可以使用这个方法来实现。

如下:

function 引用传值(&A,&B)// 引用传参
A=A*2
B=B*4
return 0
end function 普通传值(A,B)// 非引用传参
A=A*2
B=B*4
return 0
end function 按钮0_点击()
var A=10,B=15
引用传值(A,B)// 因为是引用传参,那么AB的值会发生改变
messagebox(A&"和"&B)//输出20和60
end function 按钮1_点击()
var A=10,B=15
普通传值(A,B)// 因为是非引用传参,那么AB的值不会发生改变
messagebox(A&"和"&B)//输出10和15
end

  

第八课,T语言功能和参数(版本5.0)的更多相关文章

  1. 潭州课堂25班:Ph201805201 第八课:函数基础和函数参数 (课堂笔记)

    1, 函数定义 def fun(): print('测试函数') fun() #调用函数 return 运行函数返回值 def fun(): name = [1,3,4,5] return name[ ...

  2. NeHe OpenGL教程 第四十八课:轨迹球

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  3. NeHe OpenGL教程 第三十八课:资源文件

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. NeHe OpenGL教程 第二十八课:贝塞尔曲面

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  5. NeHe OpenGL教程 第十八课:二次几何体

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. 【C语言探索之旅】 第一部分第八课:第一个C语言小游戏

    ​ 内容简介 1.课程大纲 2.第一部分第八课:第一个C语言小游戏 3.第一部分第九课预告: 函数 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写 ...

  7. 【C语言探索之旅】 第二部分第八课:动态分配

    内容简介 1.课程大纲 2.第二部分第八课: 动态分配 3.第二部分第九课预告: 实战“悬挂小人”游戏 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言 ...

  8. 红帽学习笔记[RHCSA] 第八课[Nice值、时间同步、RPM与Yum软件安装]

    第八课 nice值 什么是nice值 给进程设置的优先级就是nice.nice的范围是-20~20.nice值越小占用的系统资源就越多,就是这个进程不nice. 如何查看nice值 # 使用top命令 ...

  9. Kali Linux Web 渗透测试视频教程— 第八课 nessus

    Kali Linux Web 渗透测试视频教程— 第八课 nessus 文/玄魂 视频课程地址:http://edu.51cto.com/course/course_id-1887.html 目录 n ...

  10. OpenGL学习进程(11)第八课:颜色绘制的详解

        本节是OpenGL学习的第八个课时,下面将详细介绍OpenGL的颜色模式,颜色混合以及抗锯齿.     (1)颜色模式: OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式. R ...

随机推荐

  1. BZOJ 2286: [Sdoi2011]消耗战

    2286: [Sdoi2011消耗战 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 2082  Solved: 736[Submit][Status] ...

  2. jquery总结05-常用事件03-键盘事件

    键盘事件 .keydown() 键盘按下触发,返回的的是键盘按键代码 .keyup() 键盘松手触发,返回的是键盘按键代码 .keypress() 键盘按下触发,返回的是敲击的字符的ASCII码

  3. Scrum Meeting 8-20151210

    任务安排 姓名 今日任务 明日任务 困难 董元财 服务器入口更新 服务器发布记录接口 无 胡亚坤 请假(编译攻坚) 聊天界面优化 无 刘猛 请假(编译攻坚) 开新的分支存放服务器端或者,创建的仓库记录 ...

  4. python yield的初识

    ---------2016-5-18 10:49:45-- source:

  5. 阿里云服务器 FTP配置图文教程和添加两个FTP站点

    1.添加FTP账号和密码. A. 选择“服务管理器”->“配置”->“本地用户和组”->“用户”:在空白处右键选择“新用户”: B. 输入用户名,全名和描述可以不填写:输入两遍密码: ...

  6. cookie预:

    什么是cookie? cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie ...

  7. Android开发--ImageView的应用

    1.简介 当要在屏幕上显示图片时,ImageView用于创建显示图片所需的对象.另外,通过设置ImageView可以改变图片的有关属性. 2.构建 使用Images & Media中的部件来实 ...

  8. div仿textarea

    CSS代码: .test_box { width: 400px; min-height: 120px; max-height: 300px; _height: 120px; margin-left: ...

  9. .htaccess应该放在哪里?

    根据 Apache 官方的介绍,.htaccess 文件属于分布式配置文件,可以放置在网站 www 根目录的所有子目录.以及 www 根目录的上一级目录中,生效的路径总是当前目录及其所有子目录(可在文 ...

  10. Python排序算法

    不觉已经有半年没写了,时间真是容易荒废,这半年过了个春节,去拉萨旅行.本职工作也很忙,没有开展系统的学习和总结. 今年开始静下心来从基础开始学习,主要分为三部分,算法.线性代数.概率统计. 首先学习算 ...