Changeset 7606 for lang/vim

Show
Ignore:
Timestamp:
03/07/08 09:26:07 (6 years ago)
Author:
mattn
Message:

lang/vim/misc/NabeAtzz.vim:
おもいっきり間違ってたので直した。

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/vim/misc/NabeAtzz.vim

    r7582 r7606  
    11scriptencoding utf-8 
     2 
     3silent! unlet s:ndg 
     4let s:ndg = [ 
     5  \ {0: ''}, 
     6  \ {0: 'じゅう'}, 
     7  \ {0: 'ひゃく', 3: 'ぴゃく', 6: 'ぴゃく', 8: 'ぴゃく'}, 
     8  \ {0: 'せん', 3: 'ぜん'}, 
     9\ ] 
    210 
    311silent! unlet s:dig 
    412let s:dig = [ 
    513  \ {0: ''}, 
    6   \ {0: 'じゅう'}, 
    7   \ {0: 'ひゃく', 3: 'ぴゃく', 6: 'ぴゃく', 8: 'ぴゃく'}, 
    8   \ {0: 'せん', 3: 'ぜん'}, 
    914  \ {0: 'まん'}, 
    1015  \ {0: 'おく'}, 
     
    4348function! s:num2ja(num) 
    4449  let str = "" . a:num 
    45  let len = len(str) 
    46   if len > 21 
    47     len = 21 
     50  let len = len(str) 
     51  if str == 0 
     52    return s:num[0][0] 
     53  endif 
     54  if len >= 17*4+1 
     55    return s:dig[17][0] 
    4856  endif 
    4957  let n = 0 
    5058  let ret = "" 
    5159  while n < len 
    52     if str[n] != 0 && ((len-n) == 1 || str[n] != 1) 
     60    if str[n] != 0 && (str[n] != 1 || (len-n)%4 == 1) 
    5361      let ret .= has_key(s:num[str[n]], len-n) ? 
    5462        \ s:num[str[n]][len-n] : s:num[str[n]][0] 
    5563    endif 
    5664    if str[n] != 0 
    57       let ret .= has_key(s:dig[len-n-1], str[n]) ? 
    58         \ s:dig[len-n-1][str[n]] : s:dig[len-n-1][0] 
     65      let ret .= has_key(s:ndg[(len-n-1)%4], str[n]) ? 
     66        \ s:ndg[(len-n-1)%4][str[n]] : s:ndg[(len-n-1)%4][0] 
     67      let ret .= has_key(s:dig[(len-n-1)/4], str[n]) ? 
     68        \ s:dig[(len-n-1)/4][str[n]] : s:dig[(len-n-1)/4][0] 
    5969    endif 
     70        "echo ret 
    6071    let n = n + 1 
    6172  endwhile