openlang

Что означает такая необычная запись при использовании Pharo Smalltalk?

Как следует понимать запись { ...: ...}? Вот пример:

Class {
  #name : #DemoCases,
  #superclass : #Object,
  #category : #'Demo-Core-Cases-OLD'
}

{ #category : #accessing }
DemoCases >> recursiveBlock [
  | block |
  block := [ block ].
  ^ block
]

Это словарь? В Pharo Cheat Sheet я нигде не нашёл такой записи. Можно ли использовать её внутри тела метода или в Playground?

Переведено с английскогоПоказать оригинал

Разговор продолжается 2

Следуя доводам
  1. Ссылка на ответ

    Это вообще не синтаксис самого Pharo. Перед вами формат хранения кода «tonel». Он сочетает код с фрагментами STON (Smalltalk Object Notation, примерно аналог JSON для Pharo).

    И напрямую в Playground это не вставить, нужен импорт через подходящий инструмент (например, Iceberg или Monticello).

    Переведено с английскогоПоказать оригинал
  2. Ссылка на ответ

    Для более подробного знакомства с файловым форматом Tonel обратитесь к его спецификации (https://github.com/GemTalk/TonelSpec). Этот формат создали для улучшения интеграции с git. Ранние среды Smalltalk использовали другие системы контроля версий, в том числе Monticello dvcs, что замедлило переход на git.

    Переведено с английскогоПоказать оригинал

Другие стороны того же вопроса

  1. Использование MATLAB через Google Colab

    Можно ли использовать команды MATLAB из Google Colab (облачного Jupyter)? Например, хотелось бы вызывать из Google Colab функ…

    Ответы 2Последняя активность matlab
  2. Может ли gdb поставить точку останова на инструкцию ассемблера по адресу?

    Моя попытка: но, похоже, такой команды не существует. Может ли gdb сделать что-то подобное?

    Ответы 2Последняя активность assembly
  3. Может ли проверка Playwright допускать один из двух текстов?

    Хочу проверить, содержит ли текст one либо two: Можно ли заставить это работать в Playwright? И можно ли сделать то же самое…

    Ответы 2Последняя активность typescript