Компьютерная документация и статьи: Windows, BIOS, web, реестр,софт, PHP, Perl, CGI, JS, JavaScript...
Посетите Форум по программированиваю на .NET, Ruby и Java,

а также биржу надежных фрилансеров

.:: Web-мастеру ::.
  PHP
  ASP .NET
  Perl
  JavaScript
  CSS
  HTML
  Раскрутка
.:: Программисту ::.
  DirectX
  OpenGL
  Pascal
  C++
  Алгоритмы
.:: Пользователю ::.
  Windows
  Linux
  BIOS
.:: Посетителю ::.
  ФОРУМ
  Юмор
  Рассылки
  КАТАЛОГ
  ФизМат
  Партнеры
  Републикация
  Написать
.:: Железо ::.
  Ноутбук Acer 2354 LC
  МР3 MPIO FL350
.:: Партнеры ::.
Главная > Perl > Спецификация Perl > Спецификация Perl - Cтруктуры данных

Спецификация Perl - Cтруктуры данных

  • Cтруктуры данных

    Cтруктуры данных


    Perl поддерживает три типа данных:
    • скаляры
    • массивы скаляров
    • ассоциативные массивы скаляров (так называемые хэши).
    Обычные массивы, как и в языке C, индексируются числами, начиная с нуля. Ассоциативные массивы индексируются строками. Простые скаляры (в дальнейшем мы будем также называть их переменными) всегда начинаются со знака доллара: $, даже в том случае, когда мы обращаемся к элементу массива.
     ¯
    
    $day         простая переменная day
    
    $day[28]     29  элемент массива day
    
    $day{'Feb'}  значение 'Feb' из хэша %day
    
    $#day        последний индекс массива @day
    
    
    Простой массив начинается со знака @:
     ¯
    
       @day         массив day - ($day[1],$day[2],...)
    
       @day[3,4,5]  то же, что и @day[3..5]
    
    
    Ассоциативный массив (хэш) начинается со знака процент %:
    %day (key1, val1, key2, val2, ...)
    Каждый тип данных имеет свое именное пространство, поэтому вы можете использовать одно и то же имя одновременно для скалярной переменной, массива или хэша (а также для подпрограммы или метки) без опасения, что произойдет ошибка. Perl различает большие и маленькие буквы: FOO, foo и Foo будут рассматриваться Perl-ом как разные переменные. Имена, начинающиеся с буквы или знака подчеркивания, могут в дальнейшем содержать в себе цифры или знаки подчеркивания. Имена, начинающиеся с цифры, могут в дальнейшем содержать только цифры. Имена, начинающиеся не с буквы, цифры или подчерка должны состоять только из одного символа. Большинство таких имен зарезервировано, например $$ является идентификатором текущего процесса. Интерпретация команды или величины часто зависит от требований контекста. Существует два основных контекста: скалярный и списковый. Некоторые операции возвращают список величин если в контексте подразумевается список и одну величину, если контекст скалярный. Например, операция &ora_fetch в скалярном контексте возвращает количество выбранных строк:
    $nfields = &ora_fetch($csr);
    В списковом контексте она возвращает массив выбранных строк:
    @array = &ora_fetch($csr);
    Левый аргумент определяет контекст правого аргумента.

    Скалярные величины


    Скалярные переменные могут содержать различные простые типы данных, такие как числа, строки или ссылки. Они не могут содержать сложные типы, но могут содержать ссылку на массив или хэш. В булевском контексте скаляр принимает значение TRUE, если он содержит не нулевое число или не пустую строку. В Perl существует несколько способов записи чисел:
     ¯
    
      12345
    
      12345.67
    
      .23E-10
    
      0xffff            шестнадцатеричная запись
    
      0377             восьмеричная запись.
    
      1_234_567_890      подчерк для удобства чтения.
    
    
    Строки заключаются в одинарные или двойные кавычки. Использование кавычек в Perl такое же как в bourne shell-е: строка в двойных кавычках обрабатывается и вместо переменных подставляются их значения, а также обрабатываются бакслэш-последовательности, строки в одинарных кавычках рассматривается просто как последовательности символов. Используются также:
     ¯
    
      \t      табуляция
    
      \n     перевод строки
    
      \r      возврат каретки
    
      \b     пробел
    
      \e     символ Escape
    
      \033    восьмеричный формат
    
      \x1b    шестнадцатеричный формат
    
      \c[     управляющая последовательность (control)
    
      \a      сигнал (alarm)
    
      \f      переход на следующую страницу
    
    


    Простые массивы


    Perl позволяет произвольно удлинять массив путем обращения к элементу, индекс которого больше, чем последний индекс массива. Так же можно произвольно уменьшить длину массива.
    @day = ('a','b');
    $day[3] = 'c';
    Теперь массив day содержит три элемента: ('a','b','c').
    @day = (); или, что то же самое: $#day = -1;
    Теперь массив day пуст.
    (@day, @month, &SomeSub) содержит в себе элементы массива day, за ними следуют элементы массива month, а за ними результат выполнения подпрограммы SomeSub. Пустой массив обозначается (). Массив ((),(),(),()) эквивалентен пустому массиву. Последний элемент массива может быть массивом или хэшэм:
    ($a, $b, @c)= split;
    ($a, $b, %c)= @_;
    Любой элемент массива может быть массивом.

    Ассоциативные массивы


    Ассоциативные массивы или хэши содержат пары ``ключ'' и ``значение''. Например:
      \%map = ('red',0x00f,'blue',0x0f0,'green',0xf00);
    Часто для удобства чтения между ``ключом'' и ``значением'' ставят оператор =>.
      %map = (
    
              'red'   => 0x00f,
    
              'blue'  => 0x0f0,
    
              'green' => )xf00
    
             );

  • .:: Разное ::.

    .:: Счетчики ::.
    Rambler's Top100

    Copyright © 2007 docs.com.ru / Сайт размещен на Vingrad Hosting


    Пеностекло - теплоизоляционный материал будущего!
    Молодая рок группа: рок музыка, русский рок – скачать mp3