为什么我不能在DrRacket中使用方括号进行方案?

时间:2015-10-28 03:20:51

标签: scheme racket

在这样的代码中

(define (lookup key t)
    (let ([result (assoc ket (vector-ref t 0))])
       (and result (cdr result))))   

我不能使用方括号,错误是非法使用方括号。我怎么解决这个问题? 对不起这个愚蠢的问题。

3 个答案:

答案 0 :(得分:5)

确保"从来源确定语言"被选中(在窗口左下角的列表中),并在代码的开头添加此行:

<p class="1">1</p><p class="2">2</p><p class="3">3</p>

答案 1 :(得分:2)

在一些R5RS Scheme(以及其他类型的Lisp,如Common Lisp)中,方括号不用作括号的替代(例如参见Scheme this,特别是问题的答案:使用方括号而不是括号是否合法?“)。

对于这些语言,您可以使用正常的括号:

(define (lookup key t)
    (let ((result (assoc ket (vector-ref t 0))))
       (and result (cdr result))))   

请注意,在Racket和所有其他接受方括号的语言中也允许使用此语法。

答案 2 :(得分:0)

尝试在文件开头添加以下行:
(read-square-bracket-as-paren #t)

请参阅read-square-bracket-as-paren的球拍文档