M语言基础学习
M语言,是微软新Oslo发展和面向服务策略的一部分,外文名为M Language,“M”(代表Microsoft),它是一种演算纸方式的编程语言。通过这种语言,用户可以用类似于数学公式的方式来编写算法,大大降低了编程所需的难度并节省了时间,从而让用户把主要的精力集中在算法的构思而不是编程上。
M Language常用的命令
1.1 set命令
给变量赋值,其它的写法:s 、S、set.
使用:
set flag=1 给变量赋值。
set ^xysglobal=1 给global赋值
set obj.prop=1 对对像属性赋值
set arr=[1,2,3,4] 给数组赋值
同时给多个变量赋值
set flag=1,code=2
set (flag,code,desc)=3
set (flag,code)=3,(desc,date)=4
条件赋值
set:code=2 flag=1 等价于 if code=2 set flag=1
1.2 Kill 命令
删除变量。其它写法 k、K
killflag删除一个变量
kill ^xysglobal 删除一个global
kill arr
kill a,b,c 同时删除多个变量
kill删除所有的变量(不带参数)
kill (a,b) 删除除a,b 之外的所有参数
kill:a=1 b 条件删除变量,等价于if a=1 kill b 当a=1 表达式为1时执行 killb命令
1.3 New命令
创建空的局部变量环境,其它写法 new、n、N
new a 初始化1变量 相当于killa
new a,b 初始化多个变量
new (a,b) 初始化除a,b 以外的变量
new初始化所有的变量
new:a=1 b 条件初始化变量
1.4 Write命令
显示输出到当前设备 其它写法 w、W、write
write a 输出一个变量
writea,! 输出一个值带一个回车。
write a,b,c 同时输出多个变量
write ^xysglobal 输出global的值
write输出所有的变量(不带参数)
1.5 程序流控制命令
If、Else、For、Quit、Do、Break、Continue、While Return
If 然后根据表达式的真值选择要执行的代码块,其它写法 i、if
Else配合if命令
if a=1{
set b=2
}else{
Set b=3
}
if a=1 set b=2
else set b=3
当使用.时,要和do配合使用
if a=1 do
.set b=2
else do
.set b=3
For 重复执行一个代码块.其它写法 for、f
for i=1:1:10{
s b=1
}
for i=1:1:10 do
.s b=2
Quit 终止循环结构或例程的执行 其它写法 q、quit
If a=2 do
.set b=1
.quit
.set b=3
set b=4
for i=1:1:10 do
.set b=i
.quit:i=5
for i=1:1:10 quit:i=6 do
.set b=i
.quit:i=5
set i=0
for{
set i=i+1
Quit:i=10
}
Break 在断点中断执行。启用或禁用用户中断
一般用于程序调试使用
Continue 用于在for、while 代码块进行下一次循环。
for{
set i=i+1
continue:i=3
if i=4 continue
Quit:i=10
}
While 在条件为真时执行代码。
While a<10{
Set a=a+1
Quit:a=9
continue:a=8
}
Return 终止例程的执行。
Set b=0
While b<10{
If b=4 returnb
If b=5 quit
}
M Language常用的函数
2.1 日期和时间的函数
$HOROLOG 特殊变量 获取当前日期时间 其它写法 h 、 h、 h、H
Z D a t e 把 ZDate 把 ZDate把H格式的日期按指定格式。 其它写法 $zd
Write z d ( zd( zd(h,1)
Write z d ( zd( zd(h,2) $zd 第二个参数是格式代表的数字
$ZDateH $ZDate反函数
Write z