私はプロシージャを作成するためのドットを知っています。これは任意の量の引数を取ることができますが、他の場所でドットを使用するいくつかの例を見ました。一つの例は、csv-reading
のdocsからである:これは設定パラメータのリストのように見えるドットはラケットで何をするのですか?
(define next-row (make-csv-reader (open-input-file "fruits.csv") '((separator-chars #\|) (strip-leading-whitespace? . #t) (strip-trailing-whitespace? . #t))))
私には「セット」ですが、ドットが何をするのでしょうか?
別の例は、同様に(formletセクション)docsからWebアプリケーションのチュートリアルからです:
; new-post-formlet : formlet (values string? string?) ; A formlet for requesting a title and body of a post (define new-post-formlet (formlet (#%# ,{input-string . => . title} ,{input-string . => . body}) (values title body)))
この例では私の推測で、ドットが何とか=>
を書くことができていること中置演算子として。私はリストの前に=>
を置くことができ、ドットを離れたままにして、それはまだある時点で働いていました。私はチュートリアルのコードの最終版で試していませんでした。 しかし、この「中断」は最初の例に適合しないと私は思う。
私は引数を指定するだけで新しい構造体を構築しないので、 '(something。somethingelse)'との関連付けを書くときに新しいメモリは必要ないので、この場合は新しいペアが無駄です。しかし、ペアを作成すると、そのペアのメモリの割り当てが強制されます。私はこれを正しく理解しましたか? – Zelphir
@Zelphirほとんどの '(something。somethingelse)'は1組だけを使用していますが、 '(something something)'は2つを使用しています。スペースを2倍、パスを2倍にして 'somethingelse 'にしようとしていますが、今日はこれほど重要ではありませんでした。現在はキロバイトしか使えないので、今日はもっと習慣があります。読者は必要以上に習慣からそれをやりました。 – Sylwester