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というものもあるらしい。