zoukankan      html  css  js  c++  java
  • 关于宏MACRO,我们需要知道的事

    一、先从最宏观的角度来了解宏,这里的宏观角度是指程序的运行流程:

    1,提交代码后,SAS先把代码读取储存到堆栈中;

    2,用文本扫描插件来扫描堆栈中的代码,从上到下,从左到右;

    3,扫描到一个分号,则编译之前的代码,(有错则警告报错或者停止扫描)

    4,读到%,&的宏则马上调用宏编译器对宏进行替换,直到替换完为止;

    5,扫描到代码边沿(RUN,DATA,PROC )则暂停扫描,执行以上代码;

    6,然后接着扫描下一步,重复2-5步骤。

    可以理解成一小段代码给你,先把宏给替换完再执行别的。

    二、储存宏变量

    %LET在宏的外面,则直接检查为全局宏变量表,若存在则替换刷新该宏值,

    若在宏函数里面,则:

    1,检查局部宏变量表,若存在则更新,

    2,不存在则检查全局宏变量表,存在则更新,

    3,不存在则在局部宏变量表创建一个该宏变量。

    三、类似的工作久了,可以将一些常用的宏写在一个固定的逻辑库中,以后可以随时调用,以提高工作效率。

    如:

    LIBNAME ZLJ_MACRO "H:\ZLJ_MACRO";
    OPTIONS MSTORED SASMSTORE=ZLJ_MACRO;
    %MACRO A/STORE SOURCE;
        PROC FREQ;
        TABLES X/MISSING;
        RUN;
    %MEND;

    第二句是为了指明存放宏 的逻辑库,如要将一个宏储存起来,则只需想第三行一样写“STORE SOURCE”就可以永久保存,调用可普通临时宏调用方法一样。

    本博文由博主原创,不得在非博主允许情况下用作商业用途。 如需转载请注明博客地址:http://www.cnblogs.com/immaculate
  • 相关阅读:
    第九章(二)DAG上的动态规划
    第九章 (一)动态规划
    第八章(三)滑动窗口
    第八章 (二)贪心法
    斐波那契数列
    第七章 (四)BFS(路径寻找问题)
    TensorFlow——Graph的基本操作
    TensorFlow——共享变量的使用方法
    TensorFlow——常见张量操作的API函数
    TensorFlow——TensorBoard可视化
  • 原文地址:https://www.cnblogs.com/immaculate/p/6291190.html
Copyright © 2011-2022 走看看