通常来讲,注释语句有四种:

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注释语句的更多相关文章

  1. SAS学习笔记51 SAS数据集

    结构 SAS数据集是关系型的,包含两个部分:描述部分(变量)和数据部分(观察值) 形式 SAS系统中共有两种类型的数据集: 1.SAS 数据文件(SAS datafiles) 2.SAS 数据视窗(S ...

  2. SAS学习笔记50 SAS数据集索引

    在没有索引的情况下,SAS是一条接一条的扫描观测:有索引时,直接跳到该索引对应的观测所在位置.总结一句话就是:节省时间,节省内存,提高效率 当然并不是任何情况下使用索引都能提高工作效率,因为建立索引本 ...

  3. SAS学习笔记40 SAS程序运行过程

    当我们提交运行一个DATA步程序后,具体发生了什么事情. SAS程序与其他程序一样,在运行时都要经过两个阶段:编译(Compilation).执行(Execution) 程序首先经过编译阶段,该阶段主 ...

  4. SAS学习笔记13 SAS数据清洗和加工(续)

    查找缺失值 cha[*]和num[*]是建立数组cha和num,但不指定数组中的元素数 自动变量_character_表示数据集中的所有字符型变量 自动变量_numeric_表示数据集中的所有数值型变 ...

  5. SAS学习笔记31 SAS随机分组方法及实现

    随机分组方法包括: 简单随机化(simple randomization) 区组随机化(block randomization) 分层随机化(stratified randomization) 分层区 ...

  6. SAS学习笔记12 SAS数据清洗和加工

    set语句纵向合并 我们把a1和b1进行合并,并区分是来自哪个数据集,会用到in=选项 in=a是产生临时变量a,由于它是a1的选项,所以a的值=1(来自a1)或者=0(不来自a1) in=b是产生临 ...

  7. SAS学习笔记11 SAS宏

    宏是一个被储存的文本,用一个名字识别它.最简单的宏就像一个宏变量一样工作,但复杂的宏可以完成许多宏变量不能做的事. 定义宏的语句格式为: %macro 宏名称: 宏文本 %mend <宏名称&g ...

  8. SAS学习笔记30 SAS各种常用随机函数

    UNIFORM(seed) 产生(0,1)区域均匀分布随机数,乘同余发生器 RANUNI(seed) 产生(0,1)区域均匀分布随机数,素数模发生器 NORMAL(seed) 产生标准正态分布随机数, ...

  9. SAS学习笔记19 SAS删除空格函数(left、right、trim、strip、compress、compbl函数)

随机推荐

  1. ICEM-圆锥的一种画法(2D转3D)

    原视频下载地址:https://pan.baidu.com/s/1jIOEelo  密码: btap

  2. SpringBoot面试题 转(已迁移到java相关知识点)

    ## 什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行 嵌入的 ...

  3. tornado异步请求响应速度的实例测试

    tornado异步请求响应速度的实例测试

  4. 真正解决方案:java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter

    今天在使用JDK 12.0 环境下使用Hibernate 时候出现了这个错误,错误日志如下: 故障原因: JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Ja ...

  5. Angular 自定义模块以及配置路由实现模块懒加载

    项目目录 创建模块 ng g module module/user --routing ng g module module/article --routing ng g module module/ ...

  6. Bitmap之getPixel和setPixel函数

    package com.loaderman.customviewdemo; import android.app.Activity; import android.graphics.Bitmap; i ...

  7. 三种实现PHP伪静态页面的方法

    PHP伪静态写法--其一 伪静态又名:URL重写  主要是为了SEO而生的.(SEO是什么?这个不用问我吧.呵呵-搞网络的不懂SEO那就----) 方法一: 比如这个网页 /soft.php/1,10 ...

  8. 关于Mysql中GROUP_CONCAT函数返回值长度的坑

    1.GROUP_CONCAT函数: 功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果. 语法:group_concat( [distinct] 要连接的字段 [order b ...

  9. 123457123457#0#-----com.yuming.drawGame01--前拼后广--儿童画画游戏

    com.yuming.drawGame01--前拼后广--儿童画画游戏

  10. LeetCode_168. Excel Sheet Column Title

    168. Excel Sheet Column Title Easy Given a positive integer, return its corresponding column title a ...