我的代码如下所示:
:let ClassZ = {'author': "Juchen.Zeng"}
:function ClassZ.Print_author_name()
: echo self.author
:endfunction
:function ClassZ.Change_author_name(arg1)
: let self.author = a:arg1
:endfunction
:call ClassZ.Print_author_name()
Juchen.Zeng
:call ClassZ.Change_author_name('MarioLuisGarcia')
:call ClassZ.Print_author_name()
MarioLuisGarcia
在 vim 的官方文档中,它说:
:function uk2nl.translate(line) dict
: return join(map(split(a:line), 'get(self, v:val, "???")'))
:endfunction
我们先来尝试一下:
:echo uk2nl.translate('three two five one')
drie twee ??? een
您注意到的第一个特别的事情是“:function”行末尾的“dict”。这将该函数标记为正在从字典中使用。然后,“self”局部变量将引用该字典。
为什么在我的示例中,无需额外dict
论证,自我引用似乎效果很好?这个dict
arg是必不可少的吗?