>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь

Пространства Имен 18!:

См. также Раздел II.I и лабораторную “Locales” в меню Studio|Labs... |Locales.

18!:0 y Класс Названия. Возвращает класс пространства имен с названием y, где 0 обозначает именованое, 1 нумерованое, _1 несуществующее, и _2, если слово не может служить названием пространства имен. Таким образом:

   18!:0 ;:'base j z 45bad asdf 0'
0 0 0 _2 _1 1
[x] 18!:1 y Список Названий. Возвращает названия именованых (0) нумерованых (1) полей имен. Необязательный левый аргумент позволяет указать начальные буквы возвращаемых названий. Таким образом:

   18!:1 [0         Все именованые поля имен
+----+-+----+--------+-------+-+
|base|j|jcfg|jnewuser|newuser|z|
+----+-+----+--------+-------+-+

   asdf_bb_=: 'sesquipedalian'

   'jb' 18!:1 [0    Все именованые, с названиями на j или b
+----+--+-+----+--------+
|base|bb|j|jcfg|jnewuser|
+----+--+-+----+--------+

   18!:3 ''         Создать нумерованое поле имен
+-+
|0|
+-+

   18!:1 i.2        Все именованые и нумерованые поля имен
+-+----+-+----+--------+-------+-+
|0|base|j|jcfg|jnewuser|newuser|z|
+-+----+-+----+--------+-------+-+
[x] 18!:2 y Путь. Монада возвращает путь поиска имен для поля с названием y ; диада устанавливает путь для поля y в x . Изначально путь имеет значение ,<,'z' , кроме пути для поля z, который изначально пуст. Если имя, искомое в поле f, там отсутствует, тогда оно ищется в полях пути f (не включая их пути). Например:
   (;:'a cd b') 18!:2 <'f'
   18!:2 <'f'
+-+--+-+
|a|cd|b|
+-+--+-+
Путь поля f установлен в a , cd , и b .
 
[x] 18!:3 y Создать. Если y — пустая строка, создается нумерованое поле имен с ранее неиспользованным номером. Если y — строка, тогда (вос-)создается именованое поле; если названное поле уже существует и непустое, выводится ошибка. Результатом является название созданного поля.

x указывает размер хеш-таблицы для поля имен, занимающей w*2^6+x байт, где w есть число байт в машинном слове. Если x опущено, используются умолчания, установленные 9!:38 и 9!:39 . Больший размер хеш-таблицы улучшает производительность; поле может содержать (практически) не ограниченное количество имен, вне зависимости от размера хеш-таблицы.
   18!:3 ''        Создать нумерованое поле
+-+
|0|
+-+
   18!:3 ''        Создать еще одно
+-+
|1|
+-+
   18!:1 [1        Названия нумерованых полей
+-+-+
|0|1|
+-+-+
18!:4 y Переключить Текущее. По окончании выполняемого в данный момент глагола, текущим полем имен становится y . Изначально текущим полем является base .
 
18!:5 y Текущее. Имя текущего поля. Например:
   18!:5 ''
+----+
|base|
+----+
18!:55 y Стереть. По окончании выполнения глагола, стирает поле y. Стертое нумерованое поле нельзя использовать повторно; повторное использование именованого поля возможно без ограничений.


>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь