如何从 Stata 宏中获取项目数(长度)?

Mar*_*ila 4 stata stata-macros

假设我有一个全局宏x,如何提取其中的项目数(以空格分隔的未加引号的单词)?

global x abc xyz foo
Run Code Online (Sandbox Code Playgroud)

我确信这是一项简单的任务,但我已经查看过,help macro到目前为止还没有找到任何东西。

Mar*_*ila 6

是的,说明书上就有的。宏函数word count就可以完成这项工作。

. global x abc xyz foo
. local len_x : word count $x
. di `len_x'
3
Run Code Online (Sandbox Code Playgroud)

或者,

. di wordcount("$x")
3
Run Code Online (Sandbox Code Playgroud)

请注意,在这种情况下需要引用全局宏。