1. Defining Functions
赋值(Assignment)是一种简单的抽象方式:把值(values)和名称(names)联系起来。
定义函数(Function definition)是一种更强大的抽象方式:把表达式(expression)和名称(names)联系起来。
def
声明(statement)的执行过程:
- 创建一个带有 ``( parameters) 的 标签(signature)的函数;
- 把函数的主体设置为第一行后的内容;
- 在当前框架(frame)把
<name>
联系和函数联系起来。
2. Looking Up Names in Environments
每个表达式都在上环境的上下文中求值。
到目前为止,环境(environment)有如下几种:
- The global frame alone, or
- A local frame, followed by the global frame.
环境(environment)是一组 frame 的序列。名称(name)的计算结果是在找到该名称的当前环境的最早的 frame 中绑定到该名称的值。