2011年11月11日金曜日

Higher-Order Vim

家に帰ったらC#やるぞっ,と思っていたのに何を思ったか,Higher-Order Perlという本に出てくる例題をVim Scriptで書いてみるか,となった.

function! Binary(n)
  if a:n == 0 || a:n == 1
    return "" + a:n
  endif
  let l:k = float2nr(a:n / 2)
  let l:b = "" + (a:n % 2)
  let l:e = Binary(k)
  return l:e . l:b
endfunction

とりあえずこんな感じ. 自然数を二進数表現の文字列に変換する関数.ちなみに,負数を与えると大変なことに.

後は単体テストとかの書き方を覚えると良いかな.

0 件のコメント:

コメントを投稿