Autohotkey 解析存储在成员变量中的字符串
我有一个简单的类,它在成员变量中存储一个字符串,并有一个处理该字符串的方法。该方法应该迭代字符串,并对每个字符执行某些操作 这是我的密码:Autohotkey 解析存储在成员变量中的字符串,autohotkey,Autohotkey,我有一个简单的类,它在成员变量中存储一个字符串,并有一个处理该字符串的方法。该方法应该迭代字符串,并对每个字符执行某些操作 这是我的密码: class ParseString { __New(Str) { this.Str := Str } DoSomething() { ; The error happens on this line Loop, Parse, %this.Str% {
class ParseString
{
__New(Str)
{
this.Str := Str
}
DoSomething()
{
; The error happens on this line
Loop, Parse, %this.Str%
{
; Do something with A_LoopField
}
}
预期的行为是抛出错误的行实际循环字符串上的字符,但我得到一个错误:“以下变量名包含非法字符this.str”
我已经尝试过不取消对变量的引用,但结果是相同的。您不需要对
循环,解析命令使用传统语法,因为它将变量作为输入。
以下是该命令的完整语法:
Loop, Parse, InputVar [, Delimiters, OmitChars]
要使用该命令,不需要在名称周围使用百分号,否则它将是一个动态变量,并将解析以InputVar
内容命名的变量
因此,要解析变量this.Str
,您需要这样编写命令:
Loop, Parse, this.Str
{
; Do something with A_LoopField
}
这有点奇怪。我试过了,也犯了同样的错误。我正在运行ahk 1.1.30.01