どう書く?org

;;どう書く?org 入出力の中継 を Common lispで

どう書く?orgの入出力の中継に手をつける。 コマンドライン引数は*posix-argv*に入ってくるらしい。 プロセスの起動はsb-ext:run-programでやるのがいいのかな? sb-posix:forkというのもあるので、fork→execする手もあるのか?と思ったらexecはない。 ??…

;;どう書く?org 条件を満たす行を取り除く をcommonLispで

これは簡単。 あえてcl-pprecを使ってみた。 ;;どう書く?org 条件を満たす行を取り除く (require :asdf) (asdf:oos 'asdf:load-op :cl-ppcre) (defun remcomment(in out) (with-open-file (is in :direction :input) (with-open-file (os out :direction :o…

;どう書く?org 分数を小数に展開 をCommonLispで

久しぶりに続き。 どう書く?に出題がどんどんでちゃって、追い付く気配が全くない。 マイペースでやってくか。 今回も処理速度とか無視。 例題は通ったけどバグはあるかも。 ;;どう書く?org 分数を小数に展開 (defun calc(x) (multiple-value-bind (a b) (…

どう書く?org ピラミッドを作る を common lispで

こんな感じ。 マクロを使いたくなる年頃。 あまり意味はないところが将来見たら恥ずかしいんだろな。 (defmacro string-times(n str) `(apply #'concatenate (cons 'string (make-list ,n :initial-element ,str)))) (defun pyramid(n) (dotimes (var n) (fo…

festival入れてみた(音声合性)

どう書く.orgのお題を眺めていたら、音声合性でhello worldなんてお題が。 そんなのできんのか??、とのぞいてみたらfestivalっていうのがあるらしい。おもしろそうなので入れてみる・・・。 色々やったけど、結局はドキュメント通りでよさそう。 やっぱ最…

どう書く?org ウインドウの表示 を common lispで

久しぶりにどう書く.orgの続き。 僕が先に進よりお題が先に追加されてて永遠に追い付けないような気がしてきた。GUI表示ってどうやればいいの?というところからわからないので、「Common lisp GUI」で検索。 一番最初に見付かった日本語サイトにLTKって書い…

どう書く?org 税込み価格への修正 を common lispで

つぎは税込み価格への修正 ・・・lispの正規表現ライブラリしらん。 ・・・lispでの回答を先に見てしまった。まぁいいや。 cl-ppcreというのがあるのか。あとは調べて頑張る。 cl-ppcreのリファレンスは↓ここ http://weitz.de/cl-ppcre/ おお。結構便利だ。 …

どう書く?org ;Hello, world! を common lispで

(princ "hello world") っと。

どう書く?org ;コインを減らす払い方 を commonlispで その2

コインを減らす払い方。できたつもり。 ずいぶん書き直したなぁ。これであってんのかなぁ。 まぁいいか。 ;;コインを減らす払い方 c (defmacro make-coins(yen1 yen5 yen10 yen50 yen100 yen500) `'((1 ,yen1) (5 ,yen5) (10 ,yen10) (50 ,yen50) (100 ,yen1…

どう書く?org ;コインを減らす払い方 を commonlispで その1

コインを減らす払い方 難しい。単純にロジックどう書けばいいかわからんぞ。 ひょっとして俺ってものすごいバカなのかも?(ショック)とりあえず、今書いたところまでのせとく。 関数を作るマクロを初めて書いた。 おもしろーい。 ;;コインを減らす払い方 (…

どう書く?org ;n人中m人が当選するくじ を commonlispで

例外処理はいいかげん。 なんだか汚いソースだなぁ・・・。 ;;n人中m人が当選するくじ (defun make-targets(n) (let ((arr (make-array n))) (reduce #'(lambda (ar i) (if (null ar) (list "0") (append ar (list (princ-to-string (length ar)))))) arr :i…

どう書く?org 指定されたフォルダ以下のゴミ掃除 を commonlispで

どう書く.orgのお題をやってみる。 まずは「指定されたフォルダ以下のゴミ掃除」なんだけど、いきなりディレクトリの一覧のしかたがわからん。 調べる・・・。 directoryでとれるみたい。・・・pathnameの使いかたがよくわからんぞ。 googleに聞いてみてもあ…