关键字(keyword)

什么是关键字?

如果之前对编程语言有所了解,对关键字应该不会陌生。关键字其实就是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和_

详见《深入理解函数》

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注