在编写使用临时文件的 Smalltalk 代码时,您可以编写如下内容:
SequenceableCollection>>#swap: index1 with: index2
| temp |
temp := self at: index1.
self at: index1 put: (self at: index2).
self at: index2 put: temp.
我发现声明临时变量的语法有点过时且麻烦。实际上,这是您通常停止思考您的领域并专注于计算机的地方之一(您编写了您的方法,您准备好接受代码,但必须“清理”您的临时区域)。它让人分心。
也许临时声明对性能有用?甚至是声明性——无论如何,这可以通过 IDE 调整(如语法突出显示)来改进,但我认为| temp |
可以而且应该是可选的。编译器具有所有需要的信息,或者如果用户没有提供临时声明(假设临时位于更近的环境中),则编译器可以做出所需的假设。
实施这样的改变会遇到什么问题?
这是一个依赖于方言的功能。在某些方言中,如果您不声明临时变量,浏览器将在保存方法时为您执行此操作。就我个人而言,我发现这种行为比每次使用未知标识符时浏览器都会向您发出警告的行为更方便,因为正如您所说,这可能会分散您的注意力。通过将临时变量的定义推迟到保存方法时,您不必将思维从域中“转移”;浏览器将完成详细信息。不“手动”声明临时对象的另一个优点是您的方法最终不会声明未使用的临时对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)