什么是关键字?
如果之前对编程语言有所了解,对关键字应该不会陌生。关键字其实就是M语言内部已经使用了的标识符,比如在M中if为条件分支语句,不需要定义本身就有含义,如果我们将一个步骤命名为if,这是不允许的。因为如果可以这么做,后面的公式中根本分不清哪些if是步骤名,哪些是判断,就乱套了。官方给出的资料如下:
我把其中常见的归为如下几类:
逻辑运算符
- and
= 2>1 and 2>3 //FALSE
- or
= 2>1 or 2>3 //TRUE
- not
= not (2>1) //FALSE
条件分支语句
基本语法为if then else,多条件在else后嵌套if
= if 1>2 then "A" else if 3>2 then "B" else "C" //结果为"B"
异常处理
try用于对表达式进行测试,将返回一个record,包含是否错误及错误原因或正确值,如= try Number.From("A")
try...otherwise的组合,相当于工作表函数的iferror
= try Number.From("A") otherwise "B" //结果为"B"
as
用于自定义函数中定义变量类型
= (x as number)=>x+1 //定义变量x为number类型
is
用于判断变量类型
= List.Select({"a","b","c",1},each _ is number) //筛选list中类型为number的值,结果为1
each和_
详见《深入理解函数》。