如何理解 Pharo Smalltalk 中的这种语法结构?

How to understand this syntax construction in Pharo Smalltalk?

这个语法 { ...: ...} 是什么意思? Example:

Class {
    #name : #TypExamples,
    #superclass : #Object,
    #category : #'Typer-Core-Examples-OLD'
}

{ #category : #accessing }
TypExamples >> recursion [
    | x |
    x := [ x ].
    ^ x
]

是字典吗?我没有在 Pharo Cheat Sheet 中找到这样的语法。 Playground 和方法主体是否合法?

这根本不是 Pharo 语法。它是“tonel”格式,这是一种代码存储格式。 它由 STON 块(Smalltalk 对象表示法,Pharo 的 JSON 类型)和代码本身组成。

不,这不是“直接到游乐场”的代码,您需要使用工具来注入它(例如 Iceberg 或 Monticello)。

如果您想阅读更多有关 Tonel 文件格式的信息,可以阅读 specification。它的开发是为了提供更好的 git 支持。 Smalltalk 之前使用过不同的版本控制系统,包括 Monticello dvcs,这使得它在拥抱方面很慢 git.