“递延替代”是什么意思?

时间:2011-11-07 22:45:20

标签: parsing haskell interpreter

我正在为language编写一个简单的解析器/解释器。说明中一直提到“延期替代”,如

  

扩展所描述的fun语言功能以便实现功能   可以接受零个或多个参数的列表,而不只是一个。所有   函数的参数必须使用相同的延迟进行求值   取代。

我实现这一点并不需要任何帮助,我只是对'延迟替换'的含义感到困惑。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

延迟替代是指在最新步骤中替换变量值的做法。通过这样做,你推迟替换它!

这是一个可以帮助您理解其含义的示例: 假设您具有以下功能: f(x)= 500 + 300 + 2x + 45x

假设x = 1 如果你想推迟x的替换,你可能会这样做:

  1. f(x)= 800 + 2x + 45x
  2. f(x)= 800 + 47x
  3. f(1)= 800 + 47(1)
  4. 请注意,在简化了此函数中不是变量的所有内容后,我们在最新步骤中替换了x的值。