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