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。
任何帮助将不胜感激!
您似乎期望将
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
}