実践CommonLispを読むその8

第九章 実践:ユニットテストフレームワーク

テストフレームワークの作り方の説明だね。これはPerlでもテストモジュールを使って便利に作成できるものがあるけど、そんな感じかな。テストフレームワークを作っとくと本体側を修正してもテストが簡単に行え、かつ、正常に通れば安心だね。って事になるんだ。

LISPにもあるんだね。ってプログラミング言語ならあって当然だよね。

第十章 数、文字、そして文字列

数や文字、文字列で利用できる演算子の紹介。

LISPでは文字のエンコーディングUnicodeがデフォルトだそうです。あとは、数、文字、文字列では演算子が異なっているって事かな。数で利用する演算子はまあいいとして、文字では「char」を頭につけ「char=」とする。あと文字列では「string=」とする。さらに文字や文字列に関しては大文字、小文字を区別する演算子と区別しない演算子があり結構豊富だね。

ちなみに2byte文字の扱いってどうなんだろう。Unicodeだから問題ないのかな?その辺わからんです。

第十一章 コレクション

ベクタに関しての説明。ベクタに関してある程度理解したつもりなんだが、ベクタとリストの違いが良く分からんな。どっちかでいんじゃないの?と思ってしまう私はまだまだあまちゃんって事ですね。でもねベクタに対する操作はリストでも同様にできているみたいだし違いがわからん。もしくは使い分けがわからん。

LISPって不思議だよね。

そうそう

[0]> (reduce #'max '(8 99 6 83 4 61 2 109 3 72))
109
[1]> (reduce #'min '(8 99 6 83 4 61 2 109 3 72))
2
[2]> (reduce #'+ '(1 2 3 4 5 6 7 8 9 10))
55

便利だね。「reduce」便利だよ。最近分かったんだけど「+」「-」って演算子ってわけじゃなく関数なんだよね。ん〜奥が深い。「+」関数に引数を与えるって事ですね。面白いよ!