[TOC] ## 概述 管理多个辅助函数或比定义变量 在 local 中定义的是局部的变量,函数,结构体,在 local 外是无效的 ## 语法 ``` <exp>=(local (<det-1>..<def-n>) <exp> ) 注释: <det-1>..类型 或 = (define (<var><var><var>) <exp>) 或 或 =(define <var> <exp>) 或 =(define-struct <var> (<var>...<var>)) ``` 这些 `det` 被称为局部的变量,函数,结构体 ## 例子 ``` (local ( (define (f x) (+ x 5)) (define (g alon) (cond [(empty? alon) empty] [else (cons (f (first alon)) (g (rest alon)))]))) (g (list 1 2 3))) ;; f 与 g 成为局部定义的函数 ;; local 的表达式猪蹄是 (g (list 1 2 3)) ```