4.9分配:set!

set!改变标识符的值。它本身的结果是<code>#<void></code>。

4.9.1分配的使用指导

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

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

4.9.2多值set!-values

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容