Приглашаем посетить
Паустовский (paustovskiy-lit.ru)

Роль контекста для переменных скалярного и векторного типа

Роль контекста для переменных скалярного и векторного типа

Отметим, что оператор построения списка (,) выглядит точно так же, как опера­тор (,) последовательного вычисления ( sequential evaluation ). Какой из операторов используется, зависит от контекста, в котором он появляется, в частности, являет­ся ли переменная скаляром или массивом. Perl использует конструирование спи­сков в контексте массивов и последовательное вычисление для скаляров.

Рассмотрим следующие выражения:

 

@an_array = (1,2,3,4,5);

$a_scalar = (1,2,3,4,5);

 

В первом выражении инициализируется массив, в то время как второе выраже­ние устанавливает значение скалярной переменной $ a _ scalar равным 5, отбрасы­вая первые четыре величины.

Рассмотрим два следующих выражения:

 

print $assoc{1,2};

print @assoc{1,2};

 

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

Из двух следующих выражений первое копирует список, тогда как второе при­сваивает скалярной величине значение, равное размеру массива:

 

@ x = @ list ;

$ x = @ list ;

Назад | Оглавление | Далее