Отправляет email-рассылки с помощью сервиса Sendsay

Perl - подпишись и учись!

  Все выпуски  

Perl - подпишись и учись!


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

 Hi, All!  
    Т.к. большинство аудитории высказалось о том, что, мол, надо бы начать обучение Перлу с самых начал программирования, а не увлекаться более сложными скриптами, которые, конечно хороши в качестве обучения, но сразу чайникам в программировании на PERL они будут сложноваты, поэтому вынужден подчиниться и начать с самого начала.     Т.к. большинство аудитории в принципе знает основной синтаксис Перл и немного ориентируется в языке, то в сегодняшнем выпуске буду рад рассказать о массивах в Перл.     Массивы представляют собой состоящие из скаляров списки с целочисленным индексом. Индекс позволяет ссылаться на скаляры, занесённые в массив, - это очень полезно для программирования, так как позволяет увеличивать или уменьшать индекс и получать доступ из программы к любому элементу, работая сразу со всем массивом. Для создания массива необходимо присвоить переменной-массиву в качестве значения список:
  @array=(1,2,3)
    Чтобы ссылаться на отдельные элементы массива, следует указать индекс элемента в квадратных скобках и заменить префикс @ на $ - это показывает, что мы работаем со скаляром, а не со списком(в данном случае). Обратите также внимание, что индексы для массивов PERL, как и во многих языках(С, C++, ....), отсчитываются от нуля:
  print $array[0];

Результат: 1
    Кроме чисел в массиве можно хранить и другие скаляры, например строки:
  @array=("one","two","three");
  print @array;

Результат: onetwothree
    Поскольку Perl при обработке списков пропускает все пробельные символы, в том числе символы новой строки и перевода каретки, аргумент в виде списка значений легко можно разбить на несколько строчек:
  @array=("one",
          "two",
          "three");
  print @array;

Результат: onetwothree
    Можно также использовать оператор повторения, что в данном случае создаст массив из 50-ти единиц:
  @array= (1)x 50
    Наконец, можно использовать операторы-кавычки:
  @array= qw(one two three);
  print @array;

Результат: onetwothree
    Кроме описанных выше способов, для создания массивов и добавления в них новых элементов используются также функции push и unshift(они будут рассмотрены в следующем выпуске).
    Хотя элементы в массивах PERL по умолчанию отсчитываются с нуля, можно изменить это правило, занеся новое базовое значение в специальную переменную $[. Её использование, однако, считается дурным тоном. Хотя этот способ и не запрещён, вряд ли кто-то его одобрит( В этом отличие PERL от языков типа Java, в которых методы, вызывающие неодобрение, просто запрещаются).
    После создания массива можно ссылаться на его отдельные элементы как на скаляры, указывая индекс в квадратных скобках и используя префикс $ пред именем массива:
  @array=("one", "two", "three");
  print $array[1];

Результат: two
    Поскольку для доступа к элементам массива можно использовать индекс, массивы могут работать как таблицы подстановок. Так в следующем примере десятичное число из диапазона от 0 до 15, вводимое пользователем, заменяется на его шестнадцатеричный эквивалент:
 @array('0','1','2','3','4','5','6','7',
        '8','9','10','A','B','C','D','E','F');
  while(<>){ $hex=$array[$_];
             print "$hex\n";
           }
    С точки зрения программиста тот факт, что массивы обеспечивают доступ к элементам данных по номеру, является мощным средством, позволяющим последовательно обрабатывать массив, изменяя в цикле индекс. Например, так выводятся все элементы массива по очереди:
  @array("one", "two", "three");
  for($index=0; $index<=$#array;$index++){
  print $array[$index]," ";              }

Результат: one two three
    Обратите внимание на использование конструкции $#array. В PERL она означает последний индекс массива @array.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное