建设中
建设中
概述
列表是一种有序结构。
排序
默认的可排序类型必须是Number
、Date
、Time
、DateTime
、DateTimeZone
、Duration
、Text
、Logical
、Null
。
类型
列表在语义上是存在类型的,但是它的类型并不是强绑定的,而是期望类型。
列表不同于数组(M中不存在数组,只是举例),数组要求类型一致,但列表不需要,仅在某些具体情况下才会要求列表中每个值的类型一致。但类型不同可能会导致在计算中需要做更多的判断,因此,列表中项的类型通常都是一样的。
概述
该分类下的函数主要是涉及数字转换和计算,有关数字的几个重要知识点:
- 数字类型和精度
- 计算精度
Byte.From
Byte.From(
value as any,
optional culture as nullable text,
optional roundingMode as nullable number
) as nullable number
概述
警告
该分类下的内容普通用户不需要了解,也不会用到。除非你有一定的计算机基础知识。
Binary
分类下的内容用于处理数据流(或者叫二进制流),如文件的原始内容、网络下载的内容等。
对于已有连接器的数据源,我们可以通过已有连接器轻易的实现数据的读取,但是对于某些冷门的数据,我们可能需要自己动手实现。比如某些网站仅提供zip文件,而其中包含很多json文件,此时你可以通过该分类下的函数读取zip文件(同时你也要足够了解zip文件协议)。
概述
该分类下的函数均返回拥有一个由若干文本组成的类型为list
的形参的函数。
(lst as list) as nullable text
概述
该分类下的函数用于比较大小关系并确定(大小)顺序。
对于返回number
类型值的函数,通常使用1
、0
、-1
来表示大于
、等于
、小于
,部分情况下,自定义的比较函数可以使用>0
、0
、<0
来确定大小关系。
Comparer.Equals
Comparer.Equals(comparer as function, x as any, y as any) as logical
概述
该分类下的函数通常都支持使用date
、datetime
、datetimezone
作为日期计算,如果需要返回包含日期类型的结果,通常会根据传入的参数类型来返回对应的类型,因此有可能会包含时间信息。
时间、日期、时区运算为了保持本地和远程结果一致性,应该尽可能的显式传入如时区、周几作为开始等信息。
警告
在你没有彻底了解Date.EndOf*
系列函数之前,对Date.EndOf*
系列函数传递datetime
或datetimezone
类型的参数,该行为很可能导致灾难性的后果。
概述
该分类下的函数通常都支持使用date
、datetime
、datetimezone
作为日期时间计算。
时间的精度为100
ns,即一天中的时间范围是00:00:00
到23:59:59.9999999
。前面说的是理论情况,在实际使用时,不同环境的精度会不同。
注意
由于日期函数能够接受其它类型的值(尤其是datetimezone
类型的值),同时还有很多函数的结果会受到计算机、软件或环境设置的影响。
因此,如果你不确定你的业务是否会跨时区,请考虑清楚是否固定区域设置(通常由culture
参数设置)。
概述
该分类下的函数通常都支持使用date
、datetime
、datetimezone
作为带时区的日期时间计算。
时间的精度为100
ns,即一天中的时间范围是00:00:00
到23:59:59.9999999
。前面说的是理论情况,在实际使用时,不同环境的精度会不同。
注意
由于日期函数能够接受其它类型的值(尤其是datetimezone
类型的值),同时还有很多函数的结果会受到计算机、软件或环境设置的影响。
因此,如果你不确定你的业务是否会跨时区,请考虑清楚是否固定区域设置(通常由culture
参数设置)。