ФЭНДОМ


Для удобства записи Smalltalk-кода в этой wiki можно использовать специальные шаблоны, которые перечислены ниже. За основу цветовой схемы взяты цвета, использующиеся в Squeak-овском пакете Shout. Иногда два шаблона подряд (или одиночная кавычка либо квадратная скобка рядом с шаблоном) могут давать результат, отличный от ожидаемого. В таких случаях можно либо вставить пробел, либо воспользоваться тегом <nowiki>. Примеры использования шаблонов можно посмотреть в статьях синтаксис Smalltalk на открытке и Squeak Action Card. Отступы можно оформлять как с помощью wiki-отступов (нужным количеством двоеточий в начале строки, одно двоеточие эквивалентно одной табуляции), так и с помощью блоков с жёстким форматированием (введя в начале строки нужное количество пробелов, но не меньше одного).

Зарезервированные слова Править

Название шаблона Исходный Smalltalk-текст Текст в wiki (выделены добавления к исходному тексту) Результат Комментарий
resWord {{resWord|слово}} слово Базовый шаблон для зарезервированных слов, используется во всех более конкретных шаблонах.
self self {{self}} self
super super {{super}} super
Название шаблона Исходный Smalltalk-текст Текст в wiki (выделены добавления к исходному тексту) Результат Комментарий

Синтаксические элементы Править

Название шаблона Исходный Smalltalk-текст Текст в wiki (выделены добавления к исходному тексту) Результат Комментарий
methodDef названиеМетода {{methodDef|названиеМетода}} названиеМетода Используется для выделения определения метода (первая строка метода), за исключением передаваемых в метод параметров.
param параметр {{param|параметр}} параметр Передаваемые в метод параметры, а также параметры блоков.
var переменная {{var|переменная}} переменная Локальные переменные. Обратите внимание - вертикальные палочки, использующиеся для задания переменных, остаются за границами шаблона.
instVar переменнаяЭкземпляра {{instVar|переменнаяЭкземпляра}} переменнаяЭкземпляра Переменная экземпляра (instance variable).
classVar переменнаяКласса {{classVar|переменнаяКласса}} переменнаяКласса Переменная класса (class variable).
string 'some string' {{string|'some string'}} 'some string' Строка. См. также шаблон '.
' 'some string' {{'|some string'}} 'some string' Более простой способ оформления строк.
comment "some comment" {{comment|"some comment"}} "some comment" Комментарий. См. также шаблон ".
" "some comment" {{"|some comment"}} "some comment" Более простой способ оформления комментариев.
char $a {{char|$a}} $a Буква. См. также шаблон $.
$ $a {{$|a}} $a Более простой способ оформления букв.
arr #(1 2 3) {{arr}}(1 2 3) #(1 2 3) Оформление массива. Специальный шаблон нужен потому, что символ диеза имеет в wiki специальное значение (нумерованный список). Можно также использовать тег <nowiki> ( <nowiki>#</nowiki>(1 2 3) ).
symbol #someSymbol {{symbol|#someSymbol}} #someSymbol Оформление smalltalk-символов. Более простого шаблона нет потому, что символ диеза имеет в wiki специальное значение (нумерованный список).
num 123.45 {{num|123.45}} 123.45 Оформление чисел.
^ ^someValue {{^}}someValue ^someValue Возвращение значение из метода.
Название шаблона Исходный Smalltalk-текст Текст в wiki (выделены добавления к исходному тексту) Результат Комментарий

Базовые объекты Править

Название шаблона Исходный Smalltalk-текст Текст в wiki (выделены добавления к исходному тексту) Результат Комментарий
nil nil {{nil}} nil
true true {{true}} true
false false {{false}} false
Название шаблона Исходный Smalltalk-текст Текст в wiki (выделены добавления к исходному тексту) Результат Комментарий

Методы Править

Кроме базового шаблона, который можно использовать для оформления абсолютно любых вызовов методов, есть также и отдельные шаблоны для наиболее часто встречающихся методов. Вполне возможно, что этот список не полный, и если вы считаете, что надо описать специальные шаблоны для ещё каких-то методов - пишите об этом в комментариях к странице.

Название шаблона Исходный Smalltalk-текст Текст в wiki (выделены добавления к исходному тексту) Результат Комментарий
method someMethod {{method|someMethod}} someMethod Базовый шаблон для оформления методов, используется во всех более конкретных шаблонах.
& & {{&}} &
+ + {{+}} +
- - {{-}} -
* * {{*}} *
@ @ {{@}} @
, , {{,}} ,
collapseAll collapseAll {{collapseAll}} collapseAll
do: do: {{do:}} do:
ifFalse: ifFalse: {{ifFalse:}} ifFalse:
ifTrue: ifTrue: {{ifTrue:}} ifTrue:
isNil isNil {{isNil}} isNil
new new {{new}} new
not not {{not}} not
size size {{size}} size
whileTrue: whileTrue: {{whileTrue:}} whileTrue:
Название шаблона Исходный Smalltalk-текст Текст в wiki (выделены добавления к исходному тексту) Результат Комментарий

Классы и глобальные объекты Править

Кроме базового шаблона, который можно использовать для оформления использования абсолютно любых классов, есть также и отдельные шаблоны для наиболее часто встречающихся классов. Вполне возможно, что этот список не полный, и если вы считаете, что надо описать специальные шаблоны для ещё каких-то классов - пишите об этом в комментариях к странице.

Название шаблона Исходный Smalltalk-текст Текст в wiki (выделены добавления к исходному тексту) Результат Комментарий
global SomeGlobal {{global|SomeGlobal}} SomeGlobal Базовый шаблон для оформления глобальных объектов, описанных в SystemDictionary, используется во всех более конкретных шаблонах.
class SomeClass {{class|SomeClass}} SomeClass Базовый шаблон для оформления классов, используется во всех более конкретных шаблонах.
Object Object {{Object}} Object
Smalltalk Smalltalk {{Smalltalk}} Smalltalk
Transcript Transcript {{Transcript}} Transcript
World World {{World}} World
Название шаблона Исходный Smalltalk-текст Текст в wiki (выделены добавления к исходному тексту) Результат Комментарий