Unix Man (Справочное руководство)


BS(1) - часть 6


key( ) Функция item осуществляет доступ к элементам таблицы по их номерам (обычно множество значений ключей не допускает систематического перебора). После того, как функция item возвратит значение элемента таблицы, результатом функции key будет "индекс" (ключ) этого элемента. Аргумент имя нельзя брать в кавычки. Так как точные размеры таблицы не определены, надо использовать операцию опроса, чтобы обнаружить конец таблицы, например:

table("t", 100) ...

# Если значением переменной word является слово, # следующее выражение добавляет единицу # к счетчику этого слова: ++t[word] ...

# Напечатать пары ключ/значение: for i = 0, ?(s = item(t, i)), ++i if key() \ put = key()_":"_s

iskey(имя, слово) Проверяет, есть ли ключ слово в таблице имя; возвращает 1, если есть, и 0, если нет.

Прочие функции

eval(цепочка_символов) Вычисляет свой аргумент как выражение в смысле bs. Эта функция удобна для преобразования числовых строк во внутреннюю числовую форму. Eval также может использоваться как грубый метод косвенной адресации. Например, после выполнения операторов

name = "xyz" eval("++"_name)

значение переменной xyz увеличится на 1. Кроме того, функция eval с предшествующей операцией опроса позволяет управлять обработкой ошибочных ситуаций. Результатом выполнения оператора

?eval("open(\"X\", \"XXX\", \"r\")")

будет 0, если файла с именем "XXX" нет (вместо аварийного завершения программы пользователя). Следующий фрагмент выполняет переход на метку L (если она существует):

label="L" if !(?eval("goto "_label)) puterr = "no label"

plot(запрос, аргументы) Формирует вывод для устройств, которые поддерживаются программой . Допустимы следующие запросы:

plot(0, терминал) Определяет, что дальнейший вывод программы plot должен направляться программе с аргументом -Tтерминал. plot(4) "Очищает" плоттер. plot(2, метка) Ставит метку на текущую точку. plot(3, x1, y1, x2, y2) Рисует отрезок между (x1,y1) и (x2,y2). plot(4, x, y, r) Рисует круг с центром (x,y) и радиусом r. plot(5, x1, y1, x2, y2, x3, y3) Рисует дугу с центром (x1,y1) и концами (x2,y2) и (x3,y3). plot(6) Не реализован. plot(7, x, y) Делает точку (x,y) текущей. plot(8, x, y) Рисует отрезок из текущей точки в (x,y). plot(9, x, y) Рисует точку в (x,y). plot(10, режим) Устанавливает заданный режим проведения линий. plot(11, x1, y1, x2, y2) Устанавливает левый нижний угол области рисования в (x1,y1), а правый верхний - в (x2,y2). plot(12, x1, y1, x2, y2) Определяет, что соответствующие x (y) координаты должны умножаться на x1 (y1) и затем складываться с x2 (y2) перед тем, как они изображаются. Первоначальный масштаб - plot(12, 1.0, 1.0, 0.0, 0.0).




- Начало -  - Назад -  - Вперед -