Caché 开发(一)~M程序编写

一、M语言基础

1.常用的特殊变量

    这些特殊的变量有指定的含义,它们一般以$开头。有个别特殊变量,也同时支持缩写。

    1)、$HOROLOG ($H)

    $Horolog 包含了时间和日期,它们由逗号分开。第一部分是日期的

数字,它是从1840 年12 月31 日开始计算日期的数字。第二部分是秒的

数字,它是从午夜开始计算的。Global中的日期时间都是以数字的形式

存储的。

       时间日期的函数:

       $ZDate 把$Horolog 格式的日期值按照指定格式显示。

      $ZDateH $ZDate 的反函数。

       $ZDateTime 把$Horolog 格式的日期时间值按照指定格式显示。

       $ZDateTimeH $ZDateTime 的反函数。

       $ZTime 把$Horolog 格式的时间值按照指定格式显示。

       $ZTimeH $ZTime 的反函数。

2.基本的运算符

    1)、算术运算符+、-、*、/、\、#,**。

    其中,+、-、*、/ 是基本的4 个算术运算符。\ 整数的除法

        2+5*7 = 49,从左到右依次运算

        2+(a*b) = 37

    2)、算术比较运算符<、>

    3)、字符串比较运算符=、[、]

        = 比较运算符是比较两个字符串的相同与否。如果需要比较两个数字是否一样的话, 需要在前面再加一个+ 号。例如,+number1=+number2。[  运算符检查右边的串是不是包含了左边的串; ]  运算符检查左边的串是不是在字典顺序上跟着右边的串;它是严格按照ASCII 码来操作的。例如:2]19,返回是1,因为2 的ASCII值是50,而1 的ASCII 值是49。

    4)、连接符

    _ 它是用来连接两个字符串的

     & 与

     !  或

     =  非

3.常见的命令

    1)、SET (S)

    给一个或者多个变量赋值 ,缩写S

    Set x=5,n(1)=4,dd=5

    Set ^FILE=3

    2)、MERGE (M)

    拷贝变量树。

    Merge a=b

    Merge ^a(1)=^G(1,2)

    3)、KILL

    删除所有变量或一些指定的变量或所有变量除了指定的变量。

    4)、NEW

    初始化变量。

    New a,b

    New (x1,x2)  初始化除了x1,x2之外的变量

4.程序流控制命令

     If, Else, For, Quit, Do, Goto, Break

     If      条件判断语句。

     ELSE (e)   当判断条件不通过的时候,执行后面的命令行。

     FOR (f)    循环命令

     QUIT (q)    结束执行一个函数并返回一个值。

     DO (d)     执行命令。

     GOTO(g)   跳转命令。

     BREAK(b)  在调试的时候中断一个routine 的执行。

     WRITE(w)   输出信息到当前设备上

     READ (r)   从当前的设备读信息

     OPEN (o)   开启一个设备以备使用。

5.常用的函数

    $Piece($P):

    格式::$Piece(expression,delimiter [,from[,to]])

    返回一个或者多个被分隔符分开的子串。

    $Order($O)

    格式:$Order(variable[,direction])

    按照指定的方向返回一个变量的上一个或下一个索引

    $get($g)

    返回一个变量的值

    如果变量存在则返回变量本身,不存在则返回空

    $data($d)

    判断变量是否存在

    $Extract($e)

    格式:$Extract(expression,[,from[,to]])

    说明:返回字符串的指定部分。

    >Write $Extract("AABB",2,3)

    AB

    $Justify($J)

    格式:$Justify(expression,width[,desimal])

    说明:返回一个右对齐的值,并可以改变它的格式。   

    $Length($L)

    格式:$Length(expression[,delimiter])

    说明:返回一个字符串的长度,或者是被分隔符的子串的个数

    >Write $Length("ABCD")

    4

    >Write $Length("AB/CD/EF","/")

    3

6.事务

    Tstart       开始一个事务

    Tcommit     提交事务

    Trollback    保存失败后回滚

二、编写简单的M程序

    1.建立表DHC_Student

    字段St_RowID,St_Code,St_Name,St_Sex(Ct_Sex),St_Dob(Date)

    Global(Master  Map):^DHCSTUDENT({St_RowID})

    Index:^DHCSTUDENT(0,"SEX",{St_Sex},{St_RowID})

    Index:^DHCSTUDENT(0.“DOB”,{St_Dob},{St_RowID})

    Field Name            Piece            Delimiter

    St_Code                 1                   "^" 

    St_Name                2                   "^"

    St_Sex                    3                   "^"

    St_Dob                   4                   "^"

   2.编写类方法,保存表dhc_student的记录

    3.编写类方法,将dhc_student中的所有记录在终端输出

    4.编写类方法,按性别查询dhc_student的记录

    

转载于:https://my.oschina.net/tobeexpertismydream/blog/2986090

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值