代码之家  ›  专栏  ›  技术社区  ›  eric.christensen

为什么这在drracket中有效,而不是在控制台的racket中无效

  •  2
  • eric.christensen  · 技术社区  · 15 年前
    (define pick
    (lambda(num lat)
    (COND)(NULL?LAT)(qo())
    (=(sub1 num)0)(车位)
    (其他)
    (pick(sub1 num)(cdr lat))))
    (定义布雷斯(引述(A B C D E触地得分G H I)))
    (挑选6个孩子)
    < /代码> 
    
    

    drracket中的语言设置为高级学生。定义sub1后,它在IronScheme控制台中也可以正常工作。

    错误消息为:

    对未定义标识符的引用:r < /代码>

    drracket中的语言设置为高级学生。定义之后,它在IronScheme控制台中也可以正常工作 sub1 .

    错误消息为:

    reference to undefined identifier: R
    

    alt text

    1 回复  |  直到 14 年前
        1
  •  2
  •   deinst    15 年前

    当我把这个输入控制台时

    Welcome to Racket v5.0.
    > (define pick
        (lambda (num lat)
         (cond ((null? lat) (quote()))
            ((= (sub1 num) 0) (car lat))
            (else
                  (pick (sub1 num) (cdr lat))))))
    > (define brees (quote (a b c d e touchdown g h i)))
    > (pick 6 brees)
    'touchdown
    

    你是如何在控制台中运行这个的?如果正在加载,可能需要 #lang Racket 第一行。