Руководство пользователя для GNU Awk
Приложение A. Обзор gawk
A.3.4 Типы данных
Значение выражения в awk всегда или число или цепочка. Некоторые контексты (такие как арифметические операторы) требуют числовые значения. Они конвертируют цепочки в числа, интерпретируя текст цепочки как число. Если цепочка не похожа на число, она конвертируется в 0.
Другие контексты (такие как конкатенация) требуют в качестве значения цепочки. Они конвертируют числа в цепочки, фактически печатая их по sprintf. См. детали в разделе 7.4 [Конверсии цепочек и чисел], стр. 81.
Чтобы вызвать конверсию значения-цепочки в число, достаточно добавить к нему 0. Если это значение уже было числом, оно не изменится.
Чтобы вызвать конверсию числа в цепочку, достаточно приписать к нему пустую цепочку.
Сравнения производится численно, если оба операнда числа или один есть число, а другой есть цепочка-число. В других случаях один или оба операнда конвертируются в цепочки и происходит сравнение цепочек. Поля, ввод по getline, FILENAME, элементы ARGV, элементы ENVIRON и элементы массива, образованные по split, являются единственно объектами, которые могут быть числовыми цепочками. Строковые константы, такие как "3.1415927", не являются численными цепочками, они есть строковые константы. Полные правила сравнения описаны в разделе 7.10 [Типы переменных и сравнение выражений], стр. 88.
Неинициализированные переменные имеют значение цепочки "" (нулевая или пустая цепочка). В контексте, требующем число, это эквивалент нуля. См. подробности о наименовании и инициализации переменных в разделе 7.3 [Переменные], стр. 79; см. раздел 7.4 [Конверсии цепочек и чисел], стр. 81, о том как интерпретируются значения переменных.
Назад | Вперед
Содержание (общее) | Содержание раздела | Содержание подраздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|