1. LabTalk包含九种数据类型:
double, integer, constant, dataset, string, stringarray, range, tree and graphic objects。
Constant:常量
Double:双精度浮点数
Integer:整型
Dataset:数组
String :字符串
StringArray:字符串数组
Range :区域/命名范围
Tree :树结构
Graphic Object:图形化对象
1. 声明数字常量的方法
const EM=0.5772157
习惯上,数字常量名用大写,变量名用小写,以示区别。使用数字常量的好处有:
1、 含义清楚。
2、 一改全改,使用方便。
2. 默认情况下为双浮点型double。如果结尾有 $符号,默认为字符串型。
2. 标识符:用来标识变量名,函数名,数组,文件名等等称为标识符。
LabTalk规定只能由字母,数字和下划线三种字符组成,且第一个字符必须为字母或下划线,例如:
_test,test4,test,TEST,test_,_1,_2,…
值得注意的是:
1、在LabTalk中,大写字母与小写字母是被认为是两个不同的字符。因此,test与TEST是不同的变量名。
2、在变量的使用过程中,不必“先定义,后使用”。这也就是说,即用即取!
3. range 命名范围。range变量是LT独有的数据类型。
range[1] 代表range中的第一个元素。
range[1:5] 代表range的第一个到第五个值。
range 变量名=[窗口名]层名!数据区
注意,range变量可用于工作表,矩阵和图型中。其对应的使用方法如下:
range rangeName = [BookName]SheetNameOrIndex!ColumnNameOrIndex[RowBegin:RowEnd]
通过这种变量我们可以在不激活窗口的情况,随时随地的访问数据。也这是说,在Origin中,有Book1,Book2,Book3,每个Book中只有一个Sheet且有三列,当前窗口为Book1,那么我们就可以使用range来访问Book2和Book3里面的数据。
4. string 字符串变量的读取需要增加$;将已定义字符串赋值给另一个字符串,也需要增加$. 所以,假设aa和cc是两个已定义字符串。如果要将cc赋值给aa,语法如下 aa$=cc$.
所以,建议涉及到字符串变量时,字符串变量的后面都加上$防止出错。
5. object 对象。对象通常xx.xx的语法。
对象名.属性
对象名.方法(参数列表)
page.= // 查看对象的属性
// 层级包含关系
// page -> worksheet -> column
6. 数据类型
在数据计算时,可不必转换数据类型,因为在LabTalk中,数据类型默认是double型。此外,如果声明了数据的类型,如int a=1,b=3, 那么计算要是整型(int)还是双精度浮点型(double)?答案是:double型。这一点与其它高级语言有所不同。这样当我们进行数据计算时,不用担心数据类型的影响。
7. 作用范围
根据变量的作用范围,可以变量分为全部变量(Global)、会话变量(Session)和局部变量(Local)。一般情况,没有声明变量时(即用即取),这样得到的变量为全部变量;而用变量声明语句定义变量,则为会话变量;在{}符号内的变量则为局部变量。如下程序:
[Main]
double a=5; //定义Session 变量
type -b "Session Variables$(a)\n";
b=7; //定义Global变量
type -b "Global Variables$(b)\n";
loop(i,1,$(a)){
double a=10; //定义Local变量
type -b "LocalVariables $(a)";
}
有时,我们也可能为程序的可读性,希望在变量使用之前先定义,但又希望是全局变量。为此,就不得不使用系统变量:@global 来强制将Session变量变为Global变量。它有两个值0和1,表示是否将声明的变量作为全部变量,0表示否,1表示是。如下程序:
[Main]
@global=1;
double alpha=1.2;
double beta=2.3;
Function double myPeak(doublex,double x0){
doubley=10*exp(-(x-x0)^2/4);
return y;
}
@global=0;
double gamma=3.45;
在上例中,除了gamma 是Session变量,其它全是Global变量。
本文介绍了OriginPro LabTalk的九种数据类型,包括Constant、Double、Integer、Dataset等,并详细阐述了变量声明、数据类型转换、作用范围以及如何使用Range变量进行数据访问。LabTalk中的数据类型默认为double,字符串变量需要加$,对象操作采用xx.xx语法。变量可分为全局、会话和局部,使用@global系统变量可控制变量作用范围。

932

被折叠的 条评论
为什么被折叠?



