drkcore

2009/01/15 22:14:19

macbookでsbcl+asdf(asdf-install)

asdf(日本語)とはperlでいうところのCPANみたいなものらしい。

でもってperl互換な正規表現ライブラリのcl-ppcreをインストールしてみる。

ちなみに毎回asdfをrequireするのは面倒なので.sbclrcに

(require 'asdf)

って一行入れてある。

asdf-installはgpgを使っているのでここを参考にして設定した。

で、インストールはsbclを起動して

(require 'asdf-install)
(asdf-install:install 'cl-ppcre)

って打つだけ。おーなんかcpanみたいで気持ちいい。

インストールできたら実際に使ってみる。どう書く?の税込み価格への修正をやってみた。asdfだとloadの仕方がちょっと違うみたい。

* (asdf:operate 'asdf:load-op 'cl-ppcre)

NIL
* (defun including-tax (string)
  (cl-ppcre:regex-replace-all
   "\\d+" string
   (lambda (num) (format nil "~a" (floor (* (parse-integer num) 1.05))))
   :simple-calls t))

INCLUDING-TAX
* (including-tax "ダイコン150円、ハクサイ120円、ジャガイモ30円")

"ダイコン157円、ハクサイ125円、ジャガイモ31円"
T

感激!

さて、loadする時にasdf:operateって書いてあったりasdf:oosって書いてあったりして違いがわからなかったのだけど、oos is a synonym for operateなんだそうだ。


パッケージを見てたらperl-in-lispというものを見つけた。おもしろそうなのであとで触る。

あとpython-on-lispというものもあるらしい。

Comments