Форматирование
Вывод на печать
Внутрипроцессные операторы вывода
В код сценария можно включить операторы вывода для проверки значений переменных и других элементов сценария. Это делается с помощью функций вывода на печать и форматирования.
Функция вывода на печать (или метод 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)