4.9分配:set!

set!改变标识符的值。它本身的结果是#

4.9.1分配的使用指导

有些时候使用set!是合适的,但是Racket不建议使用set!。下面是使用set!的指导方针。

  • 现代编程语言中,使用参数比分配值更好
  • 内部绑定比分配值更好
  • 使用分配来累积迭代的计算结果不好,通过循环参数更好。
  • 当状态对象是有必要的时候,实现set!是不错的选择。
    其它情况也一样,一个不使用分配和突变的程序总是更好。但是,如果它代码更加可读或者算法更好,那就应该使用它。

4.9.2多值set!-values

  (set!-values (id ...) expr)

这种形式和let-values一样活得多个表达式的结果,分配它们到对应的标识符。

你可能感兴趣的:(4.9分配:set!)