level 3
deerjumpup
楼主
" abstract class
let transdict = {}
function transdict.translate(line) dict
return join(map(split(a:line), 'get(self.words, v:val, "???")'))
endfunction
" dutch translation
let uk2nl = copy(transdict)
let uk2nl.words = {'one': 'een', 'two': 'twee', 'three': 'drie'}
echo uk2nl.translate('three one')
" german translator
let uk2de = copy(transdict)
let uk2de.words = {'one': 'ein', 'two': 'zwei', 'three': 'drei'}
echo uk2de.translate('three one')
" nothing
let uk2uk = copy(transdict)
function! uk2uk.translate(line)
return a:line
endfunction
echo uk2uk.translate('three one wladiwostok')
" test
if $LANG =~ "de"
let trans = uk2de
elseif $LANG =~ "nl"
let trans = uk2nl
else
let trans = uk2uk
endif
echo trans.translate('one two three')
2014年02月26日 08点02分
1
let transdict = {}
function transdict.translate(line) dict
return join(map(split(a:line), 'get(self.words, v:val, "???")'))
endfunction
" dutch translation
let uk2nl = copy(transdict)
let uk2nl.words = {'one': 'een', 'two': 'twee', 'three': 'drie'}
echo uk2nl.translate('three one')
" german translator
let uk2de = copy(transdict)
let uk2de.words = {'one': 'ein', 'two': 'zwei', 'three': 'drei'}
echo uk2de.translate('three one')
" nothing
let uk2uk = copy(transdict)
function! uk2uk.translate(line)
return a:line
endfunction
echo uk2uk.translate('three one wladiwostok')
" test
if $LANG =~ "de"
let trans = uk2de
elseif $LANG =~ "nl"
let trans = uk2nl
else
let trans = uk2uk
endif
echo trans.translate('one two three')