
在学习ROS_Server过程中,遇到RAPID程序中的record数据类型,记录一下常用的RAPID数据类型!
数据类型
RAPID内置数据类型有三种:atomic数据类型 、record数据类型、alias数据类型。
atomic数据类型
定义
atomic数据类型被命名为原子型是因为它们未按其他类型来定义,该数据类型不可分成各个部分或各个分量。原子型的内部结构(实现)是隐藏的。内置原子型数据有数字型num和dnum、逻辑型bool以及文本型string
num型
num对象表示一个数值。num型表示ANSI IEEE 754《浮点数算术标准》指定的域。在子域-8388607至(+)8388608中,num对象可用于表示整数(精确)值。只要运算元和结果保持在num的整数子域范围内,则算术运算符+、-和*将保持整数表示 。
dnum型
dnum对象表示一个数值。dnum型表示ANSI IEEE 754《浮点数算术标准》指定的域。在子域-4503599627370496至(+)4503599627370496中,dnum对象可用于表示整数(精确)值。只要运算元和结果保持在dnum的整数子域范围内,则算术运算符+、-和*将保持整数表示。
bool型
bool对象表示一个逻辑值。 bool型表示二值逻辑的域,即,真或假。
string型
string对象表示一个字符串 。string型表示所有序列的图形字符(ISO 8859-1)和控制字符(数字代码范围0 …
255中的非ISO 8859-1字符)的域。字符串可包括0至80个字符(固定的80字符存储格式)。
record数据类型
定义
record数据类型为带有命名的有序分量的复合型。record型的值是一个复合值,包括各分量的值。一个分量可为atomic型或record 型。record型中无法包含半值型。内置记录型有pos、orient和pose。可用的安装记录型和用户定义记录型数据集按定义不受RAPID规范约束。
记录定义
record型将靠记录定义引入。
<record definition> ::=
RECORD <identifier> <record component list>
ENDRECORD
<record component list> ::=
<record component definition> | <record component definition>
<record component list>
<record component definition> ::=
<data type> <record component name> ';'
例如,
RECORD newtype
num x;
ENDRECORD
记录值
record值可用聚合表示法来表示 。
POS型
orient型
pose型
alias数据类型
定义
alias数据类型被定义为等同于另一种类型。alias类型提供一种对象分类手段。系统可采用alias分类来查找和显示与类型相关的对象。
alias类型由alias定义引入。
<alias definition> ::=
ALIAS <type name> <identifier> ';'
更多内容欢迎访问我的博客!