甲文本值表示的Unicode字符序列。文本值具有符合以下语法的文字形式:
_text-literal:
"
text-literal-characters opt "
text-literal-characters:
text-literal-character text-literal-characters opt
text-literal-character:
单文本字符
字符转义序列
双引号转义序列
单文本字符:
除"
( U 0022
) 或#
( U 0023
) 后跟(
( U 0028
)
双引号转义序列:
""
( U 0022
, U 0022
)之外的任何字符
以下是文本值的示例:
复制
代码语言:javascript复制"ABC" // the text value ABC
在文本值上定义了以下运算符:
操作员 | 结果 |
---|---|
x = y | 平等的 |
x <> y | 不相等 |
x >= y | 大于或等于 |
x > y | 比...更棒 |
x < y | 少于 |
x <= y | 小于或等于 |
x & y | 级联 |
x ?? y | 合并 |
文本值的本机类型是固有类型text
。
二进制
甲二进制值表示字节序列。没有文字格式。提供了几个标准库函数来构造二进制值。例如,#binary
可用于从字节列表构造二进制值:
复制
代码语言:javascript复制#binary( {0x00, 0x01, 0x02, 0x03} )
以下运算符是针对二进制值定义的:
操作员 | 结果 |
---|---|
x = y | 平等的 |
x <> y | 不相等 |
x >= y | 大于或等于 |
x > y | 比...更棒 |
x < y | 少于 |
x <= y | 小于或等于 |
x ?? y | 合并 |
二进制值的本机类型是固有类型binary。
列表
甲列表值是列举当其产生值的序列的值。列表产生的值可以包含任何类型的值,包括列表。可以使用初始化语法构造列表,如下所示:
列表表达式:
{项目列表选择 }
项列表:
项
项 ,
项目列表
项:
表达式
表达 ..
的表达
以下是一个示例列表表达式定义与三个文本值的列表:"A"
,"B"
,和"C"
。
复制
代码语言:javascript复制{"A", "B", "C"}
值"A"
是列表中的第一项,值是列表"C"
中的最后一项。
- 列表的项目在被访问之前不会被评估。
- 虽然使用列表语法构造的列表值将按照它们在item-list 中出现的顺序生成项目,但通常,从库函数返回的列表每次枚举时可能会生成不同的集合或不同数量的值。
要在列表中包含整数序列,a..b
可以使用以下形式:
复制
代码语言:javascript复制{ 1, 5..9, 11 } // { 1, 5, 6, 7, 8, 9, 11 }
列表中的项目数,称为列表计数,可以使用该List.Count
函数确定。
复制
代码语言:javascript复制List.Count({true, false}) // 2
List.Count({}) // 0
一个列表实际上可以包含无限数量的项目;List.Count
因为这样的列表是未定义的,可能会引发错误或不会终止。
如果列表不包含任何项目,则称为空列表。一个空列表写为:
复制
代码语言:javascript复制{} // empty list
为列表定义了以下运算符:
操作员 | 结果 |
---|---|
x = y | 平等的 |
x <> y | 不相等 |
x & y | 连接 |
x ?? y | 合并 |
例如:
复制
代码语言:javascript复制{1, 2} & {3, 4, 5} // {1, 2, 3, 4, 5}
{1, 2} = {1, 2} // true
{2, 1} <> {1, 2} // true
列表值的本机类型是内在类型list
,它指定的项类型为any
。