普段、Lisp処理系としてRacketを利用することが多く、見よう見まねでスクリプトを書いています。その中で、Racketでは[]
という括弧を利用することが多々あります。具体的にはlet
とcond
の中で使われますが、この括弧の挙動が漠然としていて、自分の中でモヤモヤしてしまいます。
具体的なコードを挙げると、下のようになります:
#lang racket
(define (plus-one x)
(let ([plus-one-x (+ x 1)]) plus-one-x))
(define (fizzbuzz x)
(cond [(= (modulo x 15) 0) "FizzBuzz"]
[(= (modulo x 3) 0) "Fizz"]
[(= (modulo x 5) 0) "Buzz"]
[else x]))
具体的にDocumentも読んでみたのですが、自分の読解力だと、どのような挙動をするものなのか、いまいちピンと来ません。
この[]
の挙動について、具体的にどのような役割と、挙動をするものなのでしょうか?