mokeheheのScheme日記

ツッコミ、添削大歓迎です。いろいろ教えてください。

2008-01-05

[] Practical Common Lisp第11章 コレクション

http://gigamonkeys.com/book/collections.html

  • Lispはリストだけじゃなくて、他の言語と同等に配列ハッシュも扱えるよ
  • vectorとlistは、より一般的な抽象化であるsequenceのサブクラスなので多くの共通点がある
vector
  • 固定サイズのvectorとリサイズ可能なvector
  • 固定:vector 関数で作成できる
  • より一般的な:make-array 固定も可変も作成可能、任意次元
  • :adjustable で実際にリサイズ可能に
vectorのサブタイプ
  • 文字列は要素がキャラクタに限定されたベクトルなので、次の章でベクトルを取る関数が文字列も受け取れることについて話す、とのこと。
  • make-array で、:element-type に 'character を与えれば、文字列が作れる
(make-array 5 :fill-pointer 0 :adjustable t :element-type 'character)  ;=> ""
シーケンスとしてのvector
シーケンスをなめる関数
  • いろんなキーワードで動作調整可能
    • たくさんあって複雑という気がせんでもない
高階関数の種類
シーケンス全体の操作

ryos36ryos362008/01/06 10:44えらい勢いで読んでますね。すばらしい。私は CH3, CH23,CH24,ch26 を斜め読み程度。う~ん。

mokehehemokehehe2008/01/06 12:43英文をかなり適当に読み飛ばしてますからね。
Peter Seibel氏の英文がわかりやすく、説明がうまいですね。
ryos36 さんはSchemeやLispをすでにご存知のようですので、
この本では簡単すぎるのではないですか? (^^;;

トラックバック - http://sicp.g.hatena.ne.jp/mokehehe/20080105