현재 현재 Stata 세션의 전역 매크로 변수를 인쇄하기위한 짧은 프로그램을 작성 중입니다.Stata에서 매크로 인수를 프로그램에 전달하는 방법 이해하기
는나는 다음과 같은 코드 조각의 결과를 이해할 수 없다 :
macro drop _all
global glob0: all globals
cap program drop print_globals
program define print_globals
args start_globs
di "$glob0"
di "`start_globs'"
end
print_globals $glob0
이것의 결과는 다음과 같습니다
S_level S_ADO S_StataMP S_StataSE S_FLAVOR S_OS S_OSDTL S_MACH
S_level
이유는 start globs
에 glob0
에 포함 된 모든 정보를 전달하고 있지 않다?
print_globals `" ${glob0} "'
하지 print_globals ${glob0}
: 의도 한대로 프로그램 인수의 내용을 인쇄하기 위해
고마워, 나는 또한 정확한 해결책에 맞춰 나의 대답을 수정했다. – Stezzo
나는 또한 문서에서 이것을 강조하거나 최소한 이것을 언급 할 것을 제안한다. 나는 그것에 관해서 아무 것도 찾을 수 없다. 안부 – Stezzo
정확히 "this"는 무엇인가?이 질문은 인수를 프로그램에 전달하고, 따옴표로 바인딩하고, 지역 매크로와 전역 매크로를 처리하는 방법 인'args' 명령을 결합합니다. 모두 [U] 또는 [P]에 문서화되어 있습니다. StataCorp에 직접 문서에 대한 제안을 전달합니다. 그들은 보통 이와 같은 스레드를 보지 않을 것입니다. –