【发布时间】:2013-10-29 10:01:37
【问题描述】:
为什么会这样:
- 函数定义可以使用它之后定义的定义
- 而变量定义不能。
例如,
a) 以下代码 sn-p 错误:
; Must define function `f` before variable `a`.
#lang racket
(define a (f))
(define (f) 10)
b) 虽然下面的 sn-p 是正确的:
; Function `g` could be defined after function `f`.
#lang racket
(define (f) (g)) ; `g` is not defined yet
(define (g) 10)
c) 对太:
; Variable `a` could be defined after function `f`
#lang racket
(define (f) a) ; `a` is not defined yet
(define a 10)
【问题讨论】:
标签: scheme lisp racket definition operator-precedence