09:24:01 [g000012'in]
09:24:44 <g000012> なぜか今日は朝からですが、
09:24:55 <g000012> Successful Lisp / David B. Lamkins を読む会の続きです
09:25:57 <g000012> 今回は10章からで
09:26:00 <g000012> ((( Chapter 10 - How to Find Your Way Around, Part 1 )))
09:26:02 <g000012> です。
09:26:48 <g000012> 言語の機能というより、ユーティリティの紹介という感じのようです
09:27:06 <g000012> (((( APROPOS: I don't remember the name, but I recognize the face ))))
09:32:32 <g000012> (apropos)の解説です
09:33:06 <g000012> 自分は、関数の名前を朧げに覚えてるけど、はっきり思い出せない場合などに使うことが多いです
09:33:32 <g000012> あとは、なんとなくの名前の規則から、こんな関数あるんじゃないかなという探りをいれたりとか
09:33:49 <g000012> slimeの場合、slime-aproposがあって、これも便利に使えます
09:35:05 <g000012> 慣れてくると初心者の頃に想像したより活躍する機能かなと思います
09:35:21 <g000012> (((( DESCRIBE: Tell me more about yourself ))))
09:35:57 <g000012> (describe)の解説です
09:37:03 <g000012> これも結構使うのですが、closのオブジェクトのスロットがどういう値で埋まってるのか等々、あるオブジェクトがなんなのかを調べる場合に良く使います
09:38:43 <g000012> slimeだと、slime-describe〜 でキー操作一つで実行できるので便利です
09:38:55 <g000012> (((( INSPECT: Open wide and say "Ah..." ))))
09:39:19 <g000012> (inspect)の解説です。
09:40:10 <g000012> (describe)の対話的バージョンという感じなのですが、処理系によって操作感が違います
09:40:51 <g000012> slimeだとslime-inspectがありますが、操作感はまあまあです
09:42:00 <g000012> lispマシンだと、オブジェクトのプロパティやスロットが、テーブル形式で表示されて、対話的に操作できたりします
09:42:30 <g000012> (((( DOCUMENTATION: I know I wrote that down somewhere ))))
09:42:37 <g000012> (documentation)の使い方の解説です
09:43:38 <g000012> CLでは色々な場所にドキュメント文字列を付けられますが、これを表示するのが、(documentation)です
09:46:11 <g000012> これまた、slimeでもslime-documentation〜 があるのでキー操作一つで実行できます
09:47:09 <g000012> パッケージのドキュメントを引いてくる方法が直感的でないのですが、
09:47:12 <g000012> (documentation (find-package :cl-user) t)
09:47:12 <g000012> ;=> "public: the default package for user code and data"
09:48:15 <g000012> みたいな感じで、引いてこれます。この段落でも書いてないので補足で書いてみました
09:48:42 <g000012> ちなみに、slimeだと、パッケージのドキュメントはどう引いて来たら良いのか良く分かってないです
09:50:54 <g000012> というところで、10章は終わりです。次回は、11章から再開したいと思います
09:51:04 [g000012'out] ; Quit: (exit)
10:57:55 [saia'in]
13:56:19 [saia'out] ; Quit: Leaving...