基本数据类型


基本数据类型

本文档简要描述内置数据类型。如要了解数据类型的使用方法,请参考相应的开发指南文档

颜色标识

Ticos Studio 使用如下的颜色标识来区分不同的端口数据类型:

Color Code

数据转换

以下表格展示了隐式(implicit)类型转换的规则,只要符合隐式转换规则的两个数据类型的对应端口可以互相连接,否则的话开发工具将会报错。

如果两个数据类型无法直接进行隐式类型转换,我们也提供一些节点专门用于显式(explicit)的强制类型转换。

输出 \ 输入PulseBooleanNumberBytePortString
Pulse
Boolean
Number
Byte
Port
String

以下是隐式转换的具体细节。

原始类型目标类型转换方法
BooleanPulse拉起信号会被认为是一次脉冲,也就是当值从False转换为True时会发出一次脉冲信号。
BooleanNumberFalse 会被转换为 0.0True 会被转换为 1.0
BooleanByteFalse 会被转换为 0000 0000True 会被转换为 0000 0001
BooleanStringFalse 会被转换为 "false"True 会被转换为 "true"
NumberBoolean0 会被转换为 False,其他值都转换为 True
NumberString会统一将数值转换为带两位小数浮点数对应的字符串,比如 1.2345 会被转换为 "1.23",而 1 则会被转换为 "1.00"
ByteBoolean0000 0000 会被转换为 False,其他值都会转换为 True
ByteString转换为带 h 后缀的 16 进制两位数,如 0001 0100 会转换为 14h
PortString如同端口在开发工具里的显示方式,数字端口 D21 会被转换为 "D21",模拟端口 A1 会被转换为 "A1"

字面量

本节描述各种数据类型的合法输入格式。在可视化开发时我们经常需要在属性窗格设置这些输入参数。

字面量描述
9527整型数的基本使用方式,就是一系列的 10 进制数字。
+9527正数也可以显式的带正号前缀。
-9527负数。
-9527.01带小数部分的浮点数。
-.01如果浮点数的整数部分为 0, 则可以不输入。
9527.末尾的小数点是合法的。
7e7指数类型,表示 7 * 10^7 = 70 000 000
7e+7指数部分可以带显式的正号。
7e-7表示 7 * 10^-7 = 0.0000007
+.7e-7表示 +0.7 * 10^-7 = 0.00000007
Inf表示正无穷大。
+Inf也表示正无穷大,可以带显式的正号。
-Inf负无穷大。
NaN通常用于表示一些计算错误,即 Not-a-Number

Boolean

合格的 Boolean 类型字面量为 TrueFalse

Byte

字面量描述
1Ah16 进制,带 h 后缀。
03h小于 10h 的 16 进制数需要带 0 前缀。
01010101b2 进制表达为带 b 后缀的 8 位数字(只能为 0 或 1)。
76d十进制数值,只能在区间 [0, 255],且需带 d 后缀。可以有前缀 0,比如 0076d。
'a'带单引号的字符会被转换为对应的 ASCII 值。
'\n'制表符,对应回车换行等。

以上是最标准的表达方式,不过开发工具有可能会提供更好的容错和格式化手段。

Port

字面量描述
D21表示一个数字端口,均以 D 为前缀,后跟具体的端口号。
A1表示一个模拟端口,均以 A 为前缀,后跟具体的端口号。

需要注意的是,模拟端口可以转换为数字端口,但是反过来不行。如果有一个模拟信道和数字端口共享同一个物理端口(比如 Arduino Leonardo 上的 A6 和 D4),开发者必须使用 A6 作为 ADC 读,而两个表达方式都可以作为数字通信的端口,因为 A6 将会在执行时被转换为 D4。

TODO: 此处的描述待确认。

String

字面量描述
"hello"字符串字面量必须一直用双引号包围。
"Time: 10\""包含双引号字符的字符串。
"Hi\nTicos""Hi\r\nTicos"带有换行符的字符串。
"Id\tName\tDescription"带制表位的字符串。
"A\\B\\C"反斜杠表达方式。

Pulse

字面量描述
Never不应该发出一次脉冲信号。
On Boot只在程序启动的时候发出一次。
Continuously在每一次执行时都会尽快的发出脉冲信号。

Color

类型为 color 的参数可以输入格式为 #RRGGBB 的值。其中的 RR 对应两位 16 进制数的红色值(也就是取值范围为 [0, 255]),GB 分别对应绿色和蓝色,比如 #0000FF 表示正蓝色,而 #14338C 则为我们的企业色。

上次编辑于: 2022/12/17 07:45:59
Loading...