Pharo于2021年1月正式发布了Pharo 11这一全新版本。在这个版本中加入了一项非常实用的新特性——常量块(Constant Blocks)。

常量块是一种数据结构,它将代码中的常量打包到一个块中,从而提高代码执行效率。相较于原来的写法,使用常量块可以明显减少常量存储的数量,从而减小代码体积,提高代码执行速度。

除了提高代码执行效率外,常量块还可以提高代码的可读性和维护性。常量块可以将多个常量打包成一个整体,从而使代码更加简洁明了,易于阅读和维护。

在Pharo 11中,使用常量块非常简单。首先,我们需要引入常量块相关的命名空间:

ConstantBlock := PharoObject subclass: #ConstantBlock

instanceVariableNames: ‘values’

classVariableNames: ”

package: ‘ConstantBlocks’

接着,在代码中声明常量块,并通过values实例变量传入常量:

uppercaseLetters := ConstantBlock values: ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’

lowercaseLetters := ConstantBlock values: ‘abcdefghijklmnopqrstuvwxyz’

digits := ConstantBlock values: ‘0123456789’

接下来,我们就可以在代码中使用常量块了:

| letter |

letter := lowercaseLetters at: 20.

上面的代码中,我们使用了前面声明的常量块lowercaseLetters,从中获取了第20个字符“t”,并将其赋值给变量letter。

总之,Pharo 11中的常量块是一项非常实用的新特性,它可以提高代码执行效率、可读性和维护性。如果你是一个Pharo开发者,不妨试试在代码中使用常量块,相信你会有一个全新的体验!

详情参考

了解更多有趣的事情:https://blog.ds3783.com/