Операционная система UNIX. Руководство программиста

     

Типы данных


Переменные (и поля) принимают числовые или текстовые значения в зависимости от контекста. Например, в присваивании

pop += $3

pop полагается числом, в то время как в присваивании

country = $1

country - это цепочка символов. В выражении

maxpop < $3

тип maxpop зависит от данных, которые содержатся в $3, что определяется во время выполнения программы.

В общем случае, каждая переменная (поле) является потенциально цепочкой символов или числом, либо одновременно и тем и другим. Если значение переменной устанавливается присваиванием

пер = выражение

то ее тип становится равным типу выражения. ("Присваивание" - это также и +=, ++, -= и т.д.) Арифметическое выражение имеет тип число; конкатенация цепочек имеет тип цепочка_символов.

В сравнениях, если оба операнда являются числами, они и сравниваются как числа. В противном случае, операнды, если требуется, преобразуются в цепочки символов и выполняется сравнение этих цепочек.

Следующие трюки позволяют преобразовать тип любого выражения:

выражение + 0

трактуется как число, а

выражение ""

- как цепочка символов. (Последнее выражение - это конкатенация с пустой цепочкой.)



Содержание раздела