Bla*_*ble 5 struct racket
我注意到Racket中的结构默认是不透明的.这对我来说似乎很奇怪,因为在我(有限)的经历中,当你想要看到某些东西的价值时,你想查看它的内容!具体来说,我指的是#:transparent在定义结构时使用关键字/机制.
#:transparent
为什么Racket默认情况下结构不透明?我唯一的猜测是,如果您出于某种原因显示或评估非常大的结构,它们会阻止向控制台显示太多内容.
stc*_*ang 6
从文档来看,似乎默认情况下结构是不透明的,以鼓励更多的模块化程序.当提供透明结构时,它们会自动泄漏其内部表示.
默认情况下,结构类型是不透明的,因为不透明的结构实例提供了更多的封装保证.也就是说,库可以使用不透明结构来封装数据,并且库的客户端不能操纵结构中的数据,除非库允许.
归档时间:
11 年,8 月 前
查看次数:
276 次
最近记录: