Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Perl / Руководство Маслов /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Переменные - Программирование от RIN.RU
Переменные



Скалярные значения.


Все данные в Perl это скаляры, массивы скаляров и хеши скаляров. Скалярные переменные могут содержать числа, строки и ссылки. Преобразование числа - строки происходит автоматически по умолчанию. Скаляр может иметь только одно единственное значение, хотя это может быть ссылка на массив скаляров. Так как Perl сам преобразовывает числа в строки и наоборот, то программисту нет необходимости думать о том, что возвращает функция.


В Perl не существует типов "строка" или "число" или "файл" или что-то еще. Это контекстно зависимый полиморфный язык для работы с текстами.


Скаляр имеет логическое значение "TRUE" (истина), если это не нулевая строка или число не равное 0.


В Perl существует два типа нулевых (null) скаляров - определенные (defined) и неопределенные (undefined). Неопределенное значение возвращается, когда что-то не существует. Например, неизвестная переменная, конец файла или ошибка. С помощью функции defined() вы можете заранее обнаружить подобное состояние.


Количество элементов массива так же является скаляром и начинается символами $# подобно интерпретатору csh. Фактически $#var1 - это индекс последнего элемента массива. Нужно помнить, что первый элемент имеет индекс 0, поэтому количество элементов определяется как $#var1+1 . Присвоение значения $#var1 изменит длину массива и разрушит "оставленные" значения. Присвоение значения элементу массива с индексом больше чем $#var1 увеличит размер массива, а присвоение ему нулевого списка -обнулит.


В скалярном контексте имя массива возвращает его длину (для списка возвращается последний элемент).


Пример:


@var1 = (4, 3, 2, 1); # Присвоение значения элементам массива
$i = @var1; # Использование скалярного контекста
print $i; # Печать результата 4 - кол-во элементов
print @var1; # Списковый контекст, печать всех элементов.


Для принудительного получения скалярного значения удобно применять функцию scalar().


Пример:


print scalar(@var1); # Вывод длины массива а не его значений


Хеш в скалярном контексте возвращает "true", если существует хотя бы одна пара "ключ-значение". Фактически возвращается строка типа 2/8 где 8 - количество выделенных "ячеек" памяти, а 2 - количество использованных.


<<<  НазадВперед  >>>
 1  2  3  4  5 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

От простого к сложному

Запуск Perl-программы

Синтаксис

Простое предложение

Встроенные переменные

Регулярные выражения

Операторы и приоритеты

Встроенные функции

Форматы отчетов

Подпрограммы

Отладка Perl программ.

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь