Schemeでは、私は(quote (+ 2 3)) returns (+ 2 3)
を実行しています。私が理解したところでは、引用文は何らかの目的のために私の表現を評価しないようSchemeに伝えました。私はリストを(+ 2 3)
引用符を使用せずにしようとしています。だから私が試した:
型付き:(cons '+' (cons 2 (cons 3 '())))
スキームのリターン:(+ cons 2 (cons 3 (quote())))
- 私はこの戻り値を得た理由を私は理解していません。私は、型指定された(+ 2 3)
を期待していた:(cons '+' (2,3))
スキームのリターン:(+ 2 3)
- 私はこれが働いていたかを理解していません。だから、(cons '+' (2,3))
は(quote (+ 2 3))
と同じですか?スキームの引用式のリストのリスト
1
A
答えて
0
'expression
は、(quote expression)
と同じであり、expression
と評価されていません。
(cons '+ '(cons 2 (cons 3 '())))
と書くと、+
と2番目の引数(cons 2 (cons 3 '()))
の両方を引用しています。 '
には終了マーカーはありません。ペアを表示するとき、あなたはそれが(+ . (cons 2 (cons 3 (quote()))))
への実装をオンにしなかった理由'(quote())
と''()
を表示する方法を選択することができます不思議に思った場合
のLispシステムがリストとしてペアテールとペアを表示するにデフォルト設定されます。私のショー'()
あなたのショーは(quote())
です。それらは正確に同じものを表しているため、視覚化以外のものではそれほど違いはありません。
`(1 , 2)
は、unquoting
2
であるため、(list '1 2)
と同じです。幸いなことに、それは数であり、常にそれ自身に評価されます。カンマは要素の間の何らかの分離であったかもしれませんが、そうではありません。いくつかの要素だけが可変である大きなデータ構造を簡単に書くことができます。
(define (test e)
`(a list with ,e representing some wanted structure))
(test 'test) ; ==> (a list with test representing some wanted structure)
関連する問題
- 1. スキーム - リスト
- 2. スキーム:リスト
- 3. スキーム:リスト
- 4. リストを含む式をループするスキーム
- 5. スキーム内のリストの長さ
- 6. リストのリストをスキームの最初の要素でソート
- 7. 大きな引用符を文字列/リストのスキームに変換する
- 8. スキーム内のリスト内の空リストを削除する
- 9. スキーム:レコードのリストへの追加
- 10. スキーム内のリストのグループ番号?
- 11. 再帰とスキームのリストの返却
- 12. 一覧のリストの作成(スキーム)?
- 13. リスト形式のPythonリスト
- 14. スキームでリストをソートする
- 15. URLスキームのリストはありますか?
- 16. のpython3リスト式
- 17. Erlangの可変長引数リストのリスト
- 18. JavaScriptを使用したURLスキームのリストとURLの比較
- 19. Leibniz式のスキーム
- 20. 引数のリストに関数のリストを適用する
- 21. Javaの理由:実際の引数リストと正式な引数リストの長さが異なる
- 22. リストの索引Python
- 23. メソッドノードの引数リスト
- 24. オプションのリスト引数「リスト=リストまたは[]」のpython
- 25. 代入式のリスト
- 26. 引用符内の評価リスト
- 27. PayPalの取引のリスト
- 28. Pythonのリストの逢引
- 29. リスト索引を持つdata.tablesのリストをリストから外す
- 30. のpython3:sqlite3のリスト形式
引用符が多すぎます。あなたは '(cons '+' ...)ではなく、'(cons '+ ...) 'をしたいと思います。 –
@AlexisKingああ、私は、+が文字で、次にNULLリストを指定する '()と言うのに、' + 'が必要だと思った。 –
@AnonymousGal '+'はシンボルです。文字は '#\ +'と書かれます。 2つの単一引用符を使用すると、最初の引用符は '+' -symbolを引用し、第2の引用符は次のリストを引用符で囲みます。 – jkiiski