在Scheme和Racket中,方括号被用作列表的符号,例如:
; scheme/racket 中
(define lst '(1 2 3 4)) ; 使用方括号创建列表
(display lst) ; 输出列表,结果为'(1 2 3 4)”
(display (car lst)) ; 输出列表的第一个元素,结果为'1”
(display (cdr lst)) ; 输出除了第一个元素以外的所有元素,结果为'(2 3 4)”
而在Common Lisp和Clojure中,方括号被用作函数调用的符号,例如:
; common lisp 中
(print "hello") ; 使用方括号调用 print 函数,输出"hello"
(car '(1 2 3)) ; 使用方括号调用 car 函数,输出1
(cdr '(1 2 3)) ; 使用方括号调用 cdr 函数,输出"(2 3)"
; clojure 中
(print "hello") ; 使用方括号调用 print 函数,输出"hello"
(first '(1 2 3)) ; 使用方括号调用 first 函数,输出1
(rest '(1 2 3)) ; 使用方括号调用 rest 函数,输出"(2 3)"
因此,方括号的行为在不同的方言中有所不同,需要根据具体的语言和语境进行正确的使用。