在这样的代码中
(define (lookup key t)
(let ([result (assoc ket (vector-ref t 0))])
(and result (cdr result))))
我不能使用方括号,错误是非法使用方括号。我怎么解决这个问题? 对不起这个愚蠢的问题。
答案 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的球拍文档