[xyzzy:01922] Re: OLE 対応、ありがとうございました
- Subject: [xyzzy:01922] Re: OLE 対応、ありがとうございました
- From: "hiroyasu ohasi" <hohasi@xxxxxxxxxxxxxxxx>
- X-mailer: Microsoft Outlook Express 4.72.3110.5
亀井さん、こんにちわ。大橋です。
>こんな小細工をしてみたんですけどどうでしょう?
わたしにはけっこう大細工でした。亀井さんの「小細工」の意味を理解するのに少し
時間がかかりました。
今も正確には理解できていませんが、多分そういうことかなというレベルには理解で
きたつもりです。
いきなり、defmacro,defsetfなど、はじめて見るスペシャル・フォームがめじろおし
だったので、さっそくCommon Lispの本を探しにいきました。
かろうじて、図書館で湯浅先生の「Common Lispハンドブック」と「ドリル」を見つ
けたのですが、お目当ての「Common Lisp入門」はありませんでした。
ハンドブックの説明はほとんど理解できませんでしたが、macroexpandという関数?が
あるのを知り、亀井さんの書かれたソースを適用してみました。
すると、「(setf ($ app Visible) t)」にmacroexpandを適用すると、「(progn
(ole-putprop app 'Visible t) t)」と帰ってくるではありませんか。それを見て、
「$」というのはsetfの引数のリストの先頭要素として使うとole-putpropに、それ以
外はole-methodになるんじゃないかと思いました。
この考え方でいくと、ソース全体の意味が通ったので、自分ではたぶんこれでいいん
じゃないかなと思っています。ざっくりいって、こういう考え方でよろしいでしょう
か。
タイプ量が減っただけでなく、ole-getpropがなくなって、かなりすっきりした形に
なったと思います。
Lispと亀井さんの力を改めて実感しました。ありがとうございました。
今回、必要に迫られて、ネットワーク上のCommon Lispの情報を探してみたのです
が、日本語の情報はほとんどありませんね。
これは、直接Common Lispをターゲットにしたものではないのですが、琉球大学の先
生が学生向けに公開されているホームページに、Common Lispのことがでていたの
で、ご紹介させていただきます。
URLは
<http://rananim.ie.u-ryukyu.ac.jp/~kono/lecture/1996/software/software.html
>です。
最後に、逸見さん、お大事に。早く元気になって下さい。
大橋弘靖 <hohasi@xxxxxxxxxxxxxxxx>