CommonLisp初心者スレ
■ このスレッドは過去ログ倉庫に格納されています
0050デフォルトの名無しさん
NGNG>Common Lispでは、シンボルのValue cellとFunction cellが分かれています
>>41さんも書いていてくれましたね。よく読まないとだめですね。
add2という自由"変数"だからfuncallが必要のですね。関数はdefunで作られた
名前だけということになるのかな。
>(add2 3)などのfunction formをevalするときは、>先頭(この場合add2)がシンボルのときは、
>そのfunction cellをデリファレンスすると決められているからです。
その位置によってLISPが探すシンボルテーブルが異なるわけですね。
先頭だけがFunction Cellをみて、残りはすべてValue Cellになるのかな。
>>45-46さん
symbol-value,symble-functionについてはよく読んで勉強させてもらいます。
あと44に書いたPerlはめちゃくちゃでした。これが正しいかもしれません。
print sub{my $n=$_[0]; sub{$_[0]+$n}}->(2)->(3);
■ このスレッドは過去ログ倉庫に格納されています