#宏观经济学论文3000字=50宏变量中是什么意思?

苹果/安卓/wp
苹果/安卓/wp
积分 47, 距离下一级还需 38 积分
道具: 彩虹炫, 雷达卡, 热点灯, 雷鸣之声, 涂鸦板, 金钱卡, 显身卡下一级可获得
权限: 自定义头衔
购买后可立即获得
权限: 隐身
道具: 金钱卡, 雷鸣之声, 彩虹炫, 雷达卡, 涂鸦板, 热点灯
开心签到天数: 2 天连续签到: 1 天[LV.1]初来乍到
上课老师讲了一下stata里面可以用宏变量。例子是:
local add=“C:/User”
然后用的时候要用··和普通变量区分。
但是我自己下来练习的时候,local语句好像正确了。但是在后面的指令中就用不了。
请问谁能不能仔细给我讲讲宏变量怎么用?谢谢啦!!!
载入中......
local add “C:\User”
use $add\abc.dta
在后面的指令中就用不了贴出“后面的指令”
sungmoo 发表于
贴出“后面的指令”use ‘add’\a.dta
这是老问题了。
local add “C:\User”
use $add\abc.dta全局宏用global定义,用$引用。
热心帮助其他会员
总评分:&经验 + 100&
论坛币 + 5&
学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
sungmoo 发表于
全局宏用global定义,用$引用。谢谢!现在懂了!
sungmoo 发表于
这是老问题了。
http://bbs.pinggu.org/thread-.html
http://bbs.pinggu.org/thread-- ...终于懂了!!!谢谢!!!
论坛好贴推荐
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
为做大做强论坛,本站接受风险投资商咨询,请联系(010-)
邮箱:service@pinggu.org
合作咨询电话:(010)
广告合作电话:(刘老师)
投诉电话:(010)
不良信息处理电话:(010)
京ICP证090565号
京公网安备号
论坛法律顾问:王进律师谁知道数控宏变量是什么意思
宏程序可以使用变量进行编程,还可以用宏指令对这些变量进行赋值,运行等处理.按变量号码可将变量分为局部变量,公共变量,系统变量,其用途和性质都是不同.
为您推荐:
其他类似问题
扫描下载二维码宏程序赋值,变量什么意思_百度知道
宏程序赋值,变量什么意思
提问者采纳
就是在程序里你的定义的宏变量将会被指定值取代如:#define PI 3.14159在程序编译前程序中所有的PI都将被替换为3.14159
其他类似问题
为您推荐:
宏程序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁苹果/安卓/wp
苹果/安卓/wp
积分 1623, 距离下一级还需 602 积分
权限: 自定义头衔, 签名中使用图片, 设置帖子权限, 隐身
道具: 彩虹炫, 雷达卡, 热点灯, 雷鸣之声, 涂鸦板, 金钱卡, 显身卡, 匿名卡, 抢沙发, 提升卡下一级可获得
权限: 设置回复可见道具: 沉默卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 雷鸣之声, 彩虹炫, 雷达卡, 涂鸦板, 热点灯
尴尬签到天数: 106 天连续签到: 1 天[LV.6]常住居民II
本帖最后由 Tigflanker 于
09:34 编辑
谢谢大家的回复。
Global的确是解决办法,不过若是加了Global,那么我无论是在%put _user_还是在sashelp.vmacro中都可以找得到他的值。
我说下我最原始的想法:
一般我们在写一段程序的时候,像我喜欢在整段程序中加个很大的宏环境,这样就可以在一些过程步中使用例如%do,%if这些宏语句。例如:
& &a = %if &type. eq C %put( b , best.);
但是当我调试整段程序的时候,我也许只想运行上面那个data步。
现在对于该步中存在的%do,我已经解决了:
/*gSubmit &%inc '/user1/*****/Tools/FOC.sas';&*/
filename temp_
dm 'paste';
dm pgm 'file temp_pgm replace'
data temp_
&&infile temp_
&&input temp_pgm $200.;
data temp_
&&if 0 then set temp_
&&if _n_ = 1
& & temp_pgm = '%Macro For_Open_C';
& && &&&
&&
&&set temp_pgm end =
& &
&&
& & temp_pgm = '%Mend For_Open_C';
& && &&&
& & temp_pgm = '%For_Open_C';
& && &&&
&&
filename temp_pg1
data null_;
&&set temp_
&&file temp_pg1;
&&put temp_pgm $200.;
%inc temp_pg1;复制代码
这样,对于剪切板中的一段包含%do的data步,我就可以直接用我的快捷键给他加个宏环境来解析、运行它。
但是,面对data步中有的%if &type.,我需要知道宿主宏中的type为什么值,而我建议在主宏中加上范围声明。
所以。。。
我有些奇怪为什么像data或过程步中的%do,在open code中依然无法解析。(所知在9。2中仍然无法实现)
故出此问,谢谢 :)
————————————————————————————————————————————————————
想请问一下,我能否从一个宏,或者是Open Code来获取另一个宏的某个变量?
前提是不再次调用这个宏,当然这个宏已经被调用过一次。
&&%let a =
&&*How can I get the value &a. from Macro a?;
&&*Likes in JAVA style &a.
我试过%put _all_,但是这个a是local的,不知有何办法?
对于楼主的例子:
a = %if &type. eq C %put( b , best.);
如果楼主把这个data步放到了宏里面,是需要“调用”宏才能运行这个data步的。
所以只要把和宏变量type相关的语句也包括到宏里就可以了。
如果只是把这个data步放到%macro语句和%mend语句之间,我只能想到两种情况:
1. 宏变量type是global的;
2. 宏变量type在“更外层”的宏中赋值,并且需要调用type所在的“外层”宏。(只调用data ...
支持楼主:、
购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
载入中......
若有缘,能重聚。
对于楼主的例子:
& &a = %if &type. eq C %put( b , best.);
如果楼主把这个data步放到了宏里面,是需要“调用”宏才能运行这个data步的。
所以只要把和宏变量type相关的语句也包括到宏里就可以了。
如果只是把这个data步放到%macro语句和%mend语句之间,我只能想到两种情况:
1. 宏变量type是global的;
2. 宏变量type在“更外层”的宏中赋值,并且需要调用type所在的“外层”宏。(只调用data步所在的宏不能实现,因为如果不是global的话,那type只能存在于其所在宏“执行”过程中。如果不调用外层的宏,那所谓的type宏变量根本就不存在,更谈不上它的值了)
分析的有道理
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
和谐拯救危机
在最前面加一个 %
观点有启发
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
local的宏变量都是属于“寄生”的 ,只有所在宏被执行的时候才会存在。
而且,如果宏变量真的是”local“的话,那即便是调用这个宏,该宏变量也会随着宏执行的结束而消失。
&&%let mvar=
& &%let mvar=
& &%put mvar: &
谢谢pobel,我更新了点东西。
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
和谐拯救危机
%
&&*S
%&&
%let a =
&&*S
%
%
&&*How can I get the value &a. from Macro a?;
&&*Likes in JAVA style &a.
%
%b;复制代码
分析的有道理
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
本帖最后由 jeozu 于
10:10 编辑
AML中很多rule都是用你这这方法调用的。
对于逻辑判断和循环主要是编译器方面的要求,用于判断代码执行的范围和等级。如果改动,有很多东西都需要修改。。
观点有启发
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
pobel 发表于
对于楼主的例子:
& &a = %if &type. eq C %put( b , best.);是的,您说的很对。
只是我想写一个作为服务性质的宏,本来在sashelp.vmacro中找到一些线索,不过他都是仅包含global和automatic仅此两部分的值。
我当时的考虑是:当解析到%if + &type.时,直接用整段主宏预读的log窗口中抓取到type所在的:宏名,(进而获得)type的最后解析值。
最后再把这段data步解析完成。。。
其实这个想法漏洞很多,只是实在想每次调试大宏中的这某一段时,希望能够从类似大宏的“向量池”的地方找到这个值,避免将整个宏都跑一遍。
目前的做法是:在那个data步之后加一个%return;
可能的确有点牵强,不过目前是简单的%do办到了。
若有缘,能重聚。
jeozu 发表于
AML中很多rule都是用你这这方法调用的。
对于逻辑判断和循环主要是编译器方面的要求,用于判断代码执行的范 ...是的,当时都还是希望能有个类似宏观的option,能够主动在整个程序的最外层加个宏环境。
至少像%do这种不牵扯范围和等级的宏语句可以释放到open code中。
若有缘,能重聚。
本帖最后由 yongyitian 于
12:41 编辑
SAS数据步编程和宏语言有几个基本概念是与起他编程语言不同的。
1.&&当今应用的最多的JAVA 和c++ 等是一种称为面向对像的语言 (object oriented programming).
一个object下面可以有多个子objects。 程序运行后生成的是一个或多个objects.
取出或调用已经生成的object内部的东西用dot方法, 如 out_obj.in_obj_1, out_obj.in_obj_2.
2.&&SAS宏语言是一种文本编译与生成语言。宏运行后生成的是文本(text), 供数据步或 proc step使用。
3.&&宏变量是储存在不同的 macro table 里的 。 宏运行结束后储存在local macro table里的宏变量会被清除.&&除非被定义为global或上一层的宏变量。 或着%put为宏生成的text。
4.&&宏语言有两种语句,一种是可以在宏内部和外部都能使用的语句,称为 open code statements,
如%let, %put, %sysfunc等. 另一种则只能在宏内部使用。%do 和 %if语句属与第二种,不能在数据步中使用。 但可以在宏内部的数据步中使用。
如您所述 : - )
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
本帖最后由 bobguy 于
07:30 编辑
There is no way one can do it under your assumption.
A local macro variable lives within its enviroment.
Here are my recommendations,
1) pass them to an external file
2) pass them to a data set.
Thank you for your guidance. :)
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
初级热心勋章
初级热心勋章
中级热心勋章
中级热心勋章
初级信用勋章
初级信用勋章
初级学术勋章
初级学术勋章
中级信用勋章
中级信用勋章
中级学术勋章
中级学术勋章
高级热心勋章
高级热心勋章
高级学术勋章
高级学术勋章
论坛好贴推荐
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
为做大做强论坛,本站接受风险投资商咨询,请联系(010-)
邮箱:service@pinggu.org
合作咨询电话:(010)
广告合作电话:(刘老师)
投诉电话:(010)
不良信息处理电话:(010)
京ICP证090565号
京公网安备号
论坛法律顾问:王进律师数控宏变量是什么意思_百度知道
数控宏变量是什么意思
其用途和性质都是不同宏程序可以使用变量进行编程,还可以用宏指令对这些变量进行赋值,公共变量,系统变量,运行等处理。按变量号码可将变量分为局部变量
其他类似问题
为您推荐:
数控的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 宏观经济学论文3000字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信