簡単に言えば、私の質問は、Schemeの定義式のタイプは何ですか?
たとえば、次のようにします。
(define x 5)
また
(define x (lambda (n) (* n n)))
それは私にとって少し混乱しています。誰か助けてもらえますか?
Racketdefine
は特殊な形式であり、式ではないため、それ自体には値がありません。このようなものを実行しようとすると、エラーが発生します。
(display (define x 42))
=> define: not allowed in an expression context in: (define x 42)
値があるとしたら、それに似たものになりますvoid
が、それはインタプリタの特定の実装の詳細に依存します( aが完了し#t
た後に1人のインタプリタが戻ってくるのを見たと思います)define
定数
#<void>
は、副作用があり、有用な結果がないほとんどのフォームとプロシージャによって返されます
仕様では、この点についても詳しく説明していません。実装に依存しているというステートメントを補強しています。