很多时候,我试图定义一个宏只是为了发现它没有被创建。
macro list
我的第一个问题是:有没有比在我尝试的每一个可疑local mylocal ...
定义后手动输入更好的方法来跟踪这些失败?其次,为什么定义本地人总是默默地失败?有没有办法为此事件启用警告?
第三,下面的代码说明了这种行为最近让我感到沮丧的地方:抓取一个单词在字符串向量中的位置;将位置减一;并在相应的(紧接在前面的)位置抓取单词。欢迎任何指点。
.
local cuts 0 15 32 50
local mycut 32
local myposn : list posof "`mycut'" in cuts
// two methods that fail loudly:
local mynewcut : word ``myposn'-1' of cuts
local mynewcut : word `myposn'-1 of cuts
// five methods that fail silently, creating nothing:
local mynewcut : word `=`myposn'-1' of cuts // 1
scalar tmp = `myposn'
local mynewcut : word `=tmp-1' of cuts // 2
scalar tmp2 = tmp -1 // 3
local mynewcut : word `=tmp2' of cuts
local mynewposn = `=`myposn'-1'
local mynewcut : word `mynewposn' of cuts // 4
local mynewcut : word `=`mynewposn'' of cuts // 5
// also fails silently (and is not what I'm looking for):
local mysamecut : word `myposn' of cuts