オブジェクト指向開発 in vimscript
クラスの実装
宣言
let s:Person = {}
コンストラクタ
function! s:Person(name, age, gender) let p = deepcopy(s:Person) let p.name = a:name let p.age = a:age let p.gender = a:gender endfunction
メソッドの定義
function! s:Person.getName() return self.name endfunction function! s:Person.getAge() return self.age endfunction function! s:Person.getGender() return self.gender endfunction
使用例
let tanaka = s:Person('tanaka', 27, 1) echo tanaka.getName()