151 :
デフォルトの名無しさん :
2001/05/10(木) 03:31 scheme : (obj 'message param) or (class_message obj param) C dispatch(obj, message, param) or class_message(obj, param); C++ obj->message(param); or obj->receive(message, param); 考察 class_message形式や、 obj->messageは何を表してるのかわかりにくい。
>>151 まあ確かに。
矢印を使うって発想はいいんだけど。逆の意味を連想する。
せめて、obj<-message(param);
だったらいいのにね。(と、なにかの本にも書いてあった)
矢印は方向を表すためだけに使いたい。>152 obj <- message param message param -> obj とか。
154 :
デフォルトの名無しさん :2001/05/10(木) 04:15
>>153 152はそういうこと言ってるんじゃないのか?
>>152 '->'は元々、構造体メンバへのポインタアクセスっつう意味しかない、
低レベルな発想だからねえ・・
思わずこうしたくなるね。
obj.receive(message, param);
なるほど>154
157 :
デフォルトの名無しさん :2001/05/10(木) 05:08
>>82 #|〜|#というのがあった気が。処理系毎の独自拡張みたいだけど。
#|ここからコメント
〜
ここまでこめんと|#
158 :
デフォルトの名無しさん :2001/05/10(木) 09:25
小なり→単項演算子マイナスと紛らわしいから、 パースできないね。残念だったね。 個人的今のでいいやって感じだけど。
159 :
デフォルトの名無しさん :2001/05/10(木) 14:26
>>151 (class_message obj param) はわかるんですが (obj 'message param)
は可能なんですか?LISPでも可能ですか?
160 :
デフォルトの名無しさん :2001/05/10(木) 20:10
age
161 :
デフォルトの名無しさん :2001/05/10(木) 21:39
>>159 151じゃないけど……
・schemeなら関数呼び出しフォームの先頭要素を普通に評価してその値を関数
として使うから、可能
・common lispだとあくまで((lambda ()) foo ...)と(symbol foo...)が関数
呼び出しフォームなだけだから、ムリ
です。この辺もschemeが普通のlispと比べて美しいところのひとつ。