SAS学习笔记38 SAS Comments注释语句
通常来讲,注释语句有四种:
1、* message;
2、COMMENT message;
3、/* message */
4、%* message;
第一种的主要限制是注释之中不得有“;”符号。通常用于非宏程序之中。
第二种和第一种相同。
第三种的主要限制是不得包含另外的注释语句。
第四种用于在宏程序里做注释,其功能和第一种在非宏的文本里很相似。第三种注释对宏和非宏程序并无区分。如果把第一种方式移植到宏程序里,出错误的机率非常大。举一例:


方式1和2属于完整的SAS声明语句。他们在程序编译时总被TOKENIZER和MACRO FACILITY处理;因此无法含有“;”及非对称的引号。在宏编译时它们被作为文本常量存储,因此在注释里的宏声明语句将被执行。比如说以上%DO命令将被执行。因此,SAS建议最好不要在宏程序里使用1和2类的注释语句。
与此相反,第3类注释语句不被TOKENIZED(标记化),而只是作为字符串处理。这一类的语句并没有在编译的宏程序里储存。
对于第4类的注释语句,因其文本并非是常量因此没有在编译的宏程序里储存。但是作为完整的宏程序语句,它的确为MACRO FACILITY处理。综上所述,只有3和4类的注释语句应被用于隐藏宏声明程序。
SAS学习笔记38 SAS Comments注释语句的更多相关文章
- SAS学习笔记51 SAS数据集
结构 SAS数据集是关系型的,包含两个部分:描述部分(变量)和数据部分(观察值) 形式 SAS系统中共有两种类型的数据集: 1.SAS 数据文件(SAS datafiles) 2.SAS 数据视窗(S ...
- SAS学习笔记50 SAS数据集索引
在没有索引的情况下,SAS是一条接一条的扫描观测:有索引时,直接跳到该索引对应的观测所在位置.总结一句话就是:节省时间,节省内存,提高效率 当然并不是任何情况下使用索引都能提高工作效率,因为建立索引本 ...
- SAS学习笔记40 SAS程序运行过程
当我们提交运行一个DATA步程序后,具体发生了什么事情. SAS程序与其他程序一样,在运行时都要经过两个阶段:编译(Compilation).执行(Execution) 程序首先经过编译阶段,该阶段主 ...
- SAS学习笔记13 SAS数据清洗和加工(续)
查找缺失值 cha[*]和num[*]是建立数组cha和num,但不指定数组中的元素数 自动变量_character_表示数据集中的所有字符型变量 自动变量_numeric_表示数据集中的所有数值型变 ...
- SAS学习笔记31 SAS随机分组方法及实现
随机分组方法包括: 简单随机化(simple randomization) 区组随机化(block randomization) 分层随机化(stratified randomization) 分层区 ...
- SAS学习笔记12 SAS数据清洗和加工
set语句纵向合并 我们把a1和b1进行合并,并区分是来自哪个数据集,会用到in=选项 in=a是产生临时变量a,由于它是a1的选项,所以a的值=1(来自a1)或者=0(不来自a1) in=b是产生临 ...
- SAS学习笔记11 SAS宏
宏是一个被储存的文本,用一个名字识别它.最简单的宏就像一个宏变量一样工作,但复杂的宏可以完成许多宏变量不能做的事. 定义宏的语句格式为: %macro 宏名称: 宏文本 %mend <宏名称&g ...
- SAS学习笔记30 SAS各种常用随机函数
UNIFORM(seed) 产生(0,1)区域均匀分布随机数,乘同余发生器 RANUNI(seed) 产生(0,1)区域均匀分布随机数,素数模发生器 NORMAL(seed) 产生标准正态分布随机数, ...
- SAS学习笔记19 SAS删除空格函数(left、right、trim、strip、compress、compbl函数)
随机推荐
- nginx location rewrite 禁止访问某个目录
Location 指令,是用来为匹配的 URI 进行配置 http://www.baidu.com/test/index.php?a=1&b=ture 这里面/test/index.php ...
- 数据结构Java版之查找算法(三)
关于查找算法,这里只进行两个算法的说明.包括 顺序查找 和 折半查找. 顺序查找: 顺序查找常用于未排序的数据中.查找速度较慢,只能应用于较小的数据量. public int sequentialSe ...
- java中 什么是反射?
JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言的反射 ...
- maven插件上传本地jar包到maven中央仓库
settings配置(如果设置后有问题,可以重启idea,保证重新加载settings文件): <!-- 上传jar包到maven中央仓库配置start --> <server> ...
- win10 Ubuntu16 双系统
https://www.cnblogs.com/coxiseed/p/9945202.html UEFI分区顺序 1 根目录 / 主分区 2 交换空间 逻辑分区 3 引导 /boot 逻辑分区 4 / ...
- jQuery插件fontIconPicker配合FontAwesome字体图标库的使用
同样先上效果图: 怎么样,是不是很好看,jquery fontIconPicker这个插件做的很不错,支持分类,搜索,还有分页功能,可以自定义分页,具体的使用方法我就不一介绍了,我只说一下如何使用fo ...
- 手写一个MVVM
最近看了珠峰的架构课——实现一个MVVM. 首先,我们来了解一下什么是MVVM. MVVM是Model-View-ViewModel的简写.它本质上就是MVC 的改进版.MVVM 就是将其中的View ...
- PHP判断是否在微信内部浏览器访问
<?php if(is_weixin()){ echo "这是微信内部浏览器"; }else{ echo "这是微信外部浏览器"; } function ...
- 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_13-用户退出-前端
调试前端的退出 logout方法 找到路由 退出对应的组件页面 这就是退出的组件 退出的方法 把这两个js的引用,从上面复制到下面引用.因为可能存在js的冲突问题. 资料里面给了一个前端 整个覆盖当前 ...
- 算法习题---3.11换抵挡装置(UVa1588)
一:题目 给你连个长度分别为n1,n2且每列高度只为1或2的长条,然后将他们拼在一起,高度不能超过3,问他们拼在一起的最短长度 二:实现思路 1.获取主动轮和从动轮的数据. 2.主动轮不动,从动轮从左 ...