Форматирование

Вывод на печать

Внутрипроцессные операторы вывода

В код сценария можно включить операторы вывода для проверки значений пе­ременных и других элементов сценария. Это делается с помощью функций вывода на печать и форматирования.

Функция вывода на печать (или метод print) отображает текст в приемнике команд. Вам уже приходилось пользоваться этим метолом при написании сценариев в этой книге.

С помощью метода print можно вывести на печать строку или же содержимое переменной:

b = box()

print "Box position"

print $Box01.pos

Метод print может быть отображен и на совокупности объектов, например:

arr = #(1, "two", (sqrt 9))

print arr

При выполнении этого фрагмента кода в приемнике команд выводится следующее:

"two"

3.0

У функции вывода на печать имеются определенные ограничения. В частности, она позволяет выводить только одну строку или переменную в каждом операторе print. Поэтому для отображения описательного текста или содержимого пере­менных лучше воспользоваться функцией форматирования.

Функция форматирования выводит текст и содержимое переменных в приемник команд или же в файл указанного формата:

a = 5

format "The variable a is equal to %\n" a

При выполнении данного фрагмента кода в приемнике команд появится следующее:

The variable a is equal to 5


Приложение

Первым параметром функции format является строка. Помимо текста, в строке можно указать знак процента (%) на том месте, где должно появиться содержимое переменной. После строки перечисляются значения в том порядке, в каком они должны появляться в строке, например:

a = 2

b = 3

format "% times % equals %" аb (a*b)

Как видите, последний параметр данной функции представляет собой математическое выражение. Напомним, что во всяком выражении вычисляется опреде­ленное значение и поэтому оно может быть использовано везде, где данное значе­ние оказывается действительным.

Вызов функции format в приведенном выше примере приводит к выводу следующего результата в приемнике команд: 2 times 3 equals 6

Кроме того, в функции format могут быть использованы последовательности переключения кода. К наиболее распространенным последовательностям переключения кода относятся \t (табуляция) и \n (новая строка):

format "\t% times % equals %\n" a b (a*b) to: theFile

В данном примере сначала вводится табуляция, а затем новая строка, поэтому все остальное форматирование начинается со следующей строки. Параметр to keyword направляет вывод в файл вместо приемника команд.

В отличие от метода print, метод format не отображается на совокупности объектов. Если, например, вновь вычислить квадратный корень

arr = #(1, "two", (sqrt9))

format "arr = %\n" arr

то на этот раз в приемнике команд появится следующий результат:

arr = #(1, "two", 3.0)