Самые последние сообщения с ярлыком переменная. Показать более ранние сообщения
Самые последние сообщения с ярлыком переменная. Показать более ранние сообщения

четверг, 26 ноября 2009 г.

Perl :: Структуры данных :: Переменная :: Объявление переменной

В арсенале Perl имеется достаточно широкий набор приёмов, которые могут использоваться разработчиком при создании переменных там, где это необходимо в данный момент; однако за это, как, впрочем, и за всё остальное в этой жизни, программисту приходится платить, а здесь начинается та часть, где надо быть особенно внимательным. Данный язык программирования, в самом деле, может облегчить существование разработчика за счёт правильного использования специальных помощников ‘my’, ‘local’, ‘our’. Каждый из них по-своему может быть полезен, и сберечь массу времени при отладке готовых программ, не говоря о том, что можно (и должно) использовать их "врождённые" свойства, которые не надо "программировать" самому, поскольку создатели языка об этом уже позаботились, а разработчику надо всего лишь уметь правильно ими пользоваться.

Главным в работе с переменными, равно как и со всеми другими имеющимися типами данных языка, является так называемая "область видимости" переменной. Существует несколько простых правил на сей счёт:
  • когда программа может использовать несколько одноимённых (но не равных по значению в каждый конкретный момент времени) переменных, в языке существует встроенный механизм "отслеживания" и использования переменных с одинаковыми именами и в разных областях видимости (или блоках), который реализован путём объявления переменной с помощью ‘our’; можно сказать, что в данном случае происходит автоматическое "переопределение" значений переменной по ходу всей программы;

  • когда же разработчику необходимо каждый раз в пределах какого-либо блока использовать переменную с одним и тем же именем, но с абсолютно "чистым" начальным значением, то, как правило, (и до возникновения ‘our’) используется ‘my’;

  • в случае же когда программист хочет очень жёстко "привязать" само существование конкретной переменной в пределах одного блока кода и напрочь "забыть" о том, что она когда-то существовала после выхода из него, у него всегда имеется ‘local’ для этого.
Подобно многим другим языкам программирования объявление переменной может происходить как с присваиванием ей начального значения, так и без оного, например: 'my $var=1;', где между переменной и её значением находится оператор присваивания (пожалуйста, не путайте его со знаком «тождественно равно» ‘==’). Существуют также иные способы присваивания значений переменным, но об этом не здесь и не сейчас.

Если читатель считает необходимым освежить свои знания по переменным, то раздел стандартной документации 'perldoc perlvar' всегда к Вашим услугам; или же зайдите на любое из зеркал CPAN.org, чтобы найти нужный Вам раздел документации.

пятница, 13 ноября 2009 г.

Perl :: Структуры данных :: Переменная :: Значение переменной

Во-первых, как всем наверное известно, для обозначения переменной в Perl используется знак доллара ‘$’. Согласно создателю этого языка он выбрал такое обозначение, так как оно очень похоже на латинскую букву ‘S’ и очень подходит для мнемонического обозначения слова ‘scalar’ (скаляр). С другой стороны, памятуя лингвистическое прошлое г-на Волла уместно предположить, что ‘S’ может относиться и к слову ‘single’ (один, единственный).

Это становится актуальным, когда надо запомнить, что в Perl скалярный контекст соотносят с переменной, то есть, скаляром. По большому счёту всё, что надо знать в данном языке (или почти всё) вращается вокруг контекста, что может стать камнем преткновения для любого программиста.

Ещё одно замечание в отношении имён переменных в Perl: не так давно и совсем не так как во многих других языках программирования стало возможным называть переменные практически на любом языке (речь не идёт о транслитерации): язык, который имеет письменность и представлен в наборе символов Юникода может принадлежать к Индо-Европейской, Сино-Тибетской, Романо-Германской или любой другой семье языков.

Переменная может выглядеть как ‘$var’ в традиционном представлении или же если есть необходимость представления имени переменной, скажем, на китайском, то это может быть нечто наподобие $輕 (qìng - лёгкий, легко).

FYI: (%perldoc) perldata - Perl data types