Emacs Part 54 (849レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
22(1): 名無しさん@お腹いっぱい。 [sage] 2022/12/11(日) 01:01:15.31 AAS
(quote symbol)は評価されないとsymbolにならないように、(function (lambda () ...) も評価されないと関数にならない。
>>2020(1): 18 [sage] 2022/12/11(日) 00:30:06.60 AAS
まだよく理解できていないので一部だけ補足しますが、
#'(lammda ...は(lambda ...でも一緒なのかと思ったんですが。
外部リンク[html]:www.gnu.org
で、そもそもこんな風に書いたのは次のような書法を参考にしたんですが、
どうもここではまずいようです。
(add-hook 'text-mode-hook
(lambda ... ))
評価される文脈なら一緒だけどリストの中にある場合はそうも行かない。
lambdaはそのままで関数として機能する(funcallできる)からややこしいのかな。
symbolは評価すると変数の値になってしまうけどlambdaは、まあ、closureになったりはするものの関数のままだしクォートの必要性を感じづらいというか。
23(1): 18 [sage] 2022/12/11(日) 01:24:43.39 AAS
>>1919(3): 名無しさん@お腹いっぱい。 [] 2022/12/10(土) 23:33:02.45 AAS
うーん多分それ先頭の#'全く場違いなんじゃね?
それシンボルのfunctionPartにアクセスするfunctionというかaliasというかsyntax sugarというべきかのものだしquoteされてたらそもそもなんも意味をなさん
quote内部のpartial evalみたいのは先頭をbackquoteにして`(sym1 sym2 ,evaled)みたいに先頭にcommaを付記する
defmacroとかのときによく使う手法だな。まぁ、俺はlispyじゃないと思うからあんま好きじゃないけど
単純に(list (cons 'someone 'something) (cons 'anyone (lambda (x) (some-over x))))みたいに書くか
`((someone . something) (anyone . ,(lambda (x) (some-over x))とかじゃね(´・ω・`)
>>22
何となく引っかかっていたところがちょっとわかりかけました。
lambda式が評価せずそのまま飲み込んで関数として定義されていないことが、
関数名のシンボルを要求する文脈ではエラーになると。
ではつまり関数として定義してしまうしかないということですかね?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.058s