の略語(quote ...)
のために、'
はコードをデータに変換します。
stuff
は
'stuff
はあなたにシンボル「もの」自体を与える...それはそれは、変数や関数の名前、などの名前であることを意味し、記号です。
(dostuff "on" those 4 :parameters)
評価すると、関数dostuff
は、文字列、変数の内容、数値、キーワードの4つのパラメータで実行されます。
'(dostuff "on" those 4 :parameters)
評価され、4つのパラメータを持つターン実行機能dostuff
の場合と、評価され、上記のコードを、返します。..
例は: 実行'''somecode
、それは''somecode
を返します。 ''somecode
を実行すると、'somecode
が返されます。 'somecode
を実行すると、somecode
が返されます。 somecode
を実行し、...よく... somecode
を実行します。
は、(eval..)
の反対のようなビットです。
(eval (eval (eval '''(print "hello"))))
"Hello"と表示されます。
(eval (eval (eval ''''(print "hello")))
- もう1つ通知'
eval
- 何も印刷されませんが、コード(print "hello")
が返されます。
リスペースは、「コード」ではなく「返されたコード」(場合によっては手書きコード)の「リスト」を呼び出す傾向があります。幸運:)
"私は '未定義の変数'のエラーを避けるために必要です - あなたがこのように書くなら、あなたのアプローチについて深刻な欠陥がありますが、私は何も言えません。以前のR4RS標準(R5RSまたはR6RSよりアクセスが容易)を注意深く読んでください。 –