gpt4 book ai didi

smalltalk - 是否可以在 Smalltalk 中将临时变量的声明设为可选?

转载 作者:行者123 更新时间:2023-12-01 00:51:18 25 4
gpt4 key购买 nike

在编写使用临时文件的 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 |可以而且应该是可选的。编译器拥有所有需要的信息,或者如果用户没有提供临时声明(假设临时存在于更近的环境中),则可以做出需要的假设。

实现这样的改变会有什么问题?

最佳答案

这是一个方言相关功能。在某些方言中,如果您不声明临时变量,浏览器会在保存方法时为您声明。我个人认为这种行为比每次使用未知标识符时浏览器警告你的行为更方便,因为正如你所说,这可能会分散注意力。通过将临时对象的定义推迟到您保存方法的时间,您不必“转移”您的思维方式;浏览器将完成详细信息。不“手动”声明临时变量的另一个优点是您的方法最终不会声明未使用的临时变量。

关于smalltalk - 是否可以在 Smalltalk 中将临时变量的声明设为可选?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31191014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com