またつまら(ry
擬音語自動生成ツールが忍び寄る機能主義によって便利になりました。コマンドに出力する擬音の数を指定することができます。
$ ./gion.scm ほぇほぇ $ ./gion.scm 5 むゎむゎ びがびが ひきひき ぶぬぶぬ びきびき
ふと思いついて、何の意味もなくプロセスをまたいだ再帰にしてみた。つまり、プロセスあたり1回の実行で1回しか擬音が出力できないということであり、これによって忍び寄る機能主義を華麗にスルーしている、というわけである。ちなみに、./gion.scm 1000 とかやると大変なことになるのは仕様です。
#!/usr/bin/env gosh ;; -*- coding: utf-8; -*- (use srfi-27) (use srfi-14) (use gauche.process) (define (main args) (random-source-randomize! default-random-source) (print (make-gion)) (let1 command (car args) (if (null? (cdr args)) 0 (let1 times (x->integer (cadr args)) (if (<= times 1) 0 (run-process command (- times 1) :wait #t))))) 0) (define (make-seed . args) (apply append '() (map char-set->list args))) (define (random-pick ls) (ref ls (random-integer (length ls)))) (define (make-gion) (let* ((fst-seed (make-seed #[ぱ-ぽ] #[ば-ぼ] #[は-ほ] #[ま-も])) (snd-seed (make-seed #[あ-ん])) (fst (random-pick fst-seed)) (snd (random-pick snd-seed))) (list->string (list fst snd fst snd))))