fun(a,b) {
c:=a+b
MsgBox % VarName(a) "+" VarName(b) "=" c
;MsgBox, %a%+%b%=%c% ;希望这里能够输出a+b=3,而不是1+2=3
}
aa:=1
bb:=2
MsgBox % VarName(aa) "+" VarName(bb) "=" aa+bb
; fun(aa,bb)
VarName(var) {
ex := Exception("", -1)
FileReadLine line, % ex.File, % ex.Line
static vars:={}
if (!vars.HasKey(line)) {
vars[line]:={}
Count:=0
While (pos:=RegExMatch(line, "i)(" . ex.What . "\s*\(([^\)]+)\))", m, pos?pos+StrLen(m1):1)) {
Count++
if (!vars[line].HasKey("matches"))
vars[line]["matches"] := {}
vars[line]["matches"][Count] := m2
}
vars[line]["max"] := Count
vars[line]["count"] := 1
} else
vars[line]["count"]++
varName := vars[line]["matches"][vars[line]["count"]]
if (vars[line]["count"] = vars[line]["max"])
vars:={}
Return varName
}
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。

评论(0)