2009年6月30日火曜日

【フムフム本】13章 文字と文字列の処理


* 13章 文字と文字列の処理
** 13.1 文字
- 特になし。
** 13.2 文字列の基本操作
- 「文字列は本来変更不可能であるべき」の「本来」が
気になる。なんだろう?
** 13.3 文字列の作成
*** 13.3.1 連結して作る
- 特になし。
*** 13.3.2 オブジェクトを文字列に変換する
- 特になし。
*** 13.3.3 文字列補間
- 文字列補間ってsharpsign dipatch reader macro的実
装なんだな。
- いまさらながらだが、Schemeのシンボルってcase
sensitiveなんだな。
gosh> (eq? 'hoge 'HOGE)
#f
*** 13.3.4 プログラムの出力を文字列として得る
- with-output-to-string。この引数がthunkという心
は、with-output-to-stringがマクロなので、引数
が評価されるまえにwith-output-to-stringの支配下
に入るということでいいのかな。
** 13.4 文字列の操作
- 特になし。
*** 13.4.1 リストへの変換
- 特になし。
*** 13.4.2 文字コードの変換
- 特になし。
*** 13.4.3 文字列の分割と統合
- 特になし。
*** 13.4.4 文字列の比較
- 特になし。
** 13.5 文字集合
- 文字集合を表すオブジェクト、なるほど。文字集合
をオブジェクトとして捉えるところがおもしろい。
*** 13.5.1 文字集合についての述語
- 特になし。
*** 13.5.2 文字集合の用途
- 特になし。
*** 13.5.3 その他の文字集合手続き
- 特になし。
** 13.6 正規表現
- object-apply。これは秀逸なアイデアだな。。。
object-applyをCommon Lispでやるとなると結構大変
なような? 本質的にはevaluatorをいじるべきだから。
通常の括弧を別キャラクタに逃がした上で、
reader-macorで( -> (object-applyとしてやればい
けるかも。すべてdispatchすることになっちゃうけ
ど。
- うーん。object-apply、#/.../リテラル、regmatch
オブジェクトの連携がとてもきれい。

期せずして、Shibuya.lisp TT3までにはSchemeも楽しめるようになっているかもしれない。

こつこつ。

0 件のコメント: