Cache学习(六)常用函数

1.Set 设置变量 
set s=3 


2.write 输出变量 
w s 

 


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


4.new 
初始化变量。 


5.Do(d):执行命令 


6.Quit(q): 结束执行一个函数并返回一个值 


7.$Horolog

$Horolog 包含了时间和日期,它们由逗号分开。第一部分是日期的数字,它是从1840 年12 月31 日开始计算日期的数字。第二部分是秒的数字,它是从午夜开始计算的。Global中的日期时间 都是以数字的形式存储的。 

 


8.$Piece(p)

格式::$Piece(expression,delimiter [,from[,to]]) 
返回一个或者多个被分隔符分开的子串。 

 


9.$Order(o)

格式:$Order(variable[,direction]) 
按照指定的方向(默认升序)循环,知道有第一个返回一个变量同级的上一个或下一个索引下标,没有则返回空.

指定返回节点的上一个节点时,即使上一个节点不存在也会照例返回返回节点,     只要不大于返回节点的值确保在返回节点之前即可,一般给这个值0就行了

例如,$ORDER(^client(4,1,6))返回下一个第三级下标。如果变量^client(4,1,7)存在,则为7。

s cnt=$o(PLIST(""),-1) //取PLIST最大标号


10.$get(g)

返回一个变量的值 
如果变量存在则返回变量本身,不存在则返回空 


11.$data(d)

判断变量是否存在 
0:没子节点没值,Global不存在 (00)      节点不存在
1:没子节点有值         (01)        根据rowid存储数据的节点
10:有子节点,但是没有值        索引节点
11:有子节点且有值             0层节点,存储统计有多少条数据的根节点

 

 


12.$length(l)

格式:Length(“ABCD”) 

Write $Length(“AB/CD/EF”,”/”) 
3

 

13.$lb

$LISTBUILD接受一个或多个表达式,并为每个表达式返回一个包含一个元素的编码列表结构。元素以指定的顺序放置在列表中。元素从1开始计数。

 

14.SET $lb

SET $LISTBUILD(var1,var2,...)=list

当在SET命令中等号的左侧使用时,$LISTBUILD函数将从列表中提取多个元素作为单个操作。

$LISTBUILD的var参数是用逗号分隔的变量列表,每个变量都接收与其在$LISTBUILD参数列表中的位置相对应的list元素。 var参数不必是现有变量;在SET $LISTBUILD为其分配值时定义该变量。

 


1..MAC文件是m语言,下面是test111.MAC

1 aa()
2   w "abc"
3   q 0
  • 最上面的名字和文件名一致
  • 然后是方法名
  • 文件名和方法名要顶头写,不能有空格 
    调用方式:DHC-APP>d aa^test111(),方法名有括号就带括号

2..cls是类文件,方法的写法与上面不一样

1 ClassMethod aa()
2 {
3     w "abc"
4     q 0
5 }

调用方式:DHC-APP>d ##class(web.test111).aa()

3.建立临时Global

 

1 DHC-APP>set ^TEMP=3//Global物理存储到数据库,terminal关了的话还会有,其他变量会消失
2 DHC-APP>S ^TEMP("A")=1//设置节点
3  
4 DHC-APP>s ^TEMP("B")=2

 

在Global里可以搜索到^TEMP 

 4.$h日期函数 

$ZDate 把$Horolog 格式的日期值按照指定格式显示 
+号表示第一个非数字符号前的数字 
$ZDateH 是$ZDate 的反函数 
$ZTime 把$Horolog 格式的时间值按照指定格式显示。 
$ZTimeH $ZTime 的反函数。

 1 DHC-APP>w $h
 2 63802,58589
 3 DHC-APP>w $zd(63802)
 4 09/07/2015
 5 DHC-APP>w $zd(63802,3)
 6 2015-09-07
 7 DHC-APP>w +$h
 8 63802
 9 DHC-APP>w $zd(+$h,3)
10 2015-09-07
11 DHC-APP>w $zdh("2015-9-7",3)
12 63802
13 DHC-APP>w $zdh("2024-9-7",3)-$zdh("2015-9-7",3)
14 3288
15 DHC-APP>w $zt(58543)
16 16:15:43
17 DHC-APP>w $zt(58543,2)
18 16:15
19 DHC-APP>w $zt(58543,3)
20 04:15:43PM
21 DHC-APP>w $zt($p($h,",",2))
22 17:07:50

 

5.$i 对每次运行的global产生唯一一个值
1 DHC-APP>w $i(^TEMP)
2 4
3 DHC-APP>w $i(^TEMP)
4 5
5 DHC-APP>w $i(^TEMP)
6 6

 

6.$e截取字符串

1 DHC-APP>s a="abcdef"
2  
3 DHC-APP>w $e(a,2)
4 b
5 DHC-APP>w $e(a,2,4)
6 bcd

 

7.for循环1加到100

 1 ClassMethod testfor()
 2 {
 3     s m=0
 4     f i=1:1:100 d
 5     .s m=m+i
 6     s sum=m
 7     q sum
 8 }
 9 DHC-APP>w ##class(web.test111).testfor()
10 5050

 

计算有多少个科室

 1 ClassMethod testfor()
 2 {
 3     s m=0
 4     s ctlocrowid=""
 5     //q和d,f和s空两个空格
 6     f  s ctlocrowid=$o(^CTLOC(ctlocrowid)) q:ctlocrowid=""  d
 7     .s m=m+1
 8     s sum=m
 9     q sum
10 }

 

8.Terminal查看Global 
zw ^STUDENT

9.buildIndices()重建索引指定的类

10.Valuese(:code)    :引用变量

11.$zt捕获异常

posted @ 2023-07-26 14:56  HY10-SALTEST-FISH  阅读(287)  评论(0编辑  收藏  举报