努力遵循文档,访问其方法内的对象属性

问题描述 投票:0回答:1

我试图理解,对象页面的

Protoypes
部分,这是我所拥有的:

obj             := {}
obj.prop         := 10
obj.meth         := func("myMeth")
obj.meth(10)
print(obj.prop)
 
myMeth(inp){
    print("inside myMeth()")            ;To confirm if method is called
    print(this.prop)                        ;should print "10"
    this.prop := this.prop + inp        ;should add 10 to 10 
    print(this.prop)                        ;should print "20"
}

看起来

myMeth()
无法访问
obj.prop
值,我已经排除了当调用
obj.meth(10)
时确实会调用该方法。

我想访问

obj
内属于
myMeth()

的各种属性

我理解

Classes
部分,解释了如何正确定义类,但我真的想知道它是如何工作的。

我知道,V1 已经像拉丁语一样死了,但在 V2 的库移植赶上之前,我将使用 V1。

任何帮助将不胜感激!

autohotkey
1个回答
0
投票

您似乎期望将

this
设置为外部对象,而没有在参数列表中实际指定它,如您链接的文档中所示。

修复很简单,只需添加第一个参数:

obj              := {}
obj.prop         := 10
obj.meth         := func("myMeth")
obj.meth(10)
print(obj.prop)

myMeth(obj, inp)
{
    print("inside myMeth()")          ;To confirm if method is called
    print(obj.prop)                   ;should print "10"
    obj.prop := obj.prop + inp        ;should add 10 to 10
    print(obj.prop)                   ;should print "20"
}

print(something)
{
    MsgBox, % something
}
© www.soinside.com 2019 - 2024. All rights reserved.