yasnippetsでFizzBuzz
vim使いにyasの「EmacsLispを評価できる」という長所について解説していて、ふと思いついたので作った。
`(progn (defun fizzbuzz (i n) (if (> i n) "" (concat (cond ((= 0 (% i 15)) "FizzBuzz") ((= 0 (% i 3)) "Fizz") ((= 0 (% i 5)) "Buzz") (t (number-to-string i))) "\n" (fizzbuzz (+ i 1) n)))) "") `FizzBuzz to ${1:10}: ${1:$(fizzbuzz 1 (string-to-number text))}
これでfizzbuzzって書いてTABを押せば下のような文字列が挿入される。そして「10」の所にフォーカスがあっていて、数字を編集すると即座にその個数のFizzBuzzにかわる。
FizzBuzz to 10: 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz