Posts Tagged ‘контекст’

5. RewriteOptions и RewriteRule директивы

Пятница, Январь 30th, 2015 Нет комментариев

Under : , , , , ,

RewriteOptions Директива (далее…)

3. RewriteEngine, Rewrite, Lock, RewriteLog

Пятница, Январь 30th, 2015 Нет комментариев

Under : , , , , ,

RewriteEngine Директива (далее…)

4. RewriteLogLevel, RewriteMap директивы

Пятница, Январь 30th, 2015 Нет комментариев

Under : , , , , ,

RewriteLogLevel Директива

Прекрасный язык Perl

Вы наверное обратили свое внимание что CGI скрипты пишутся обычно на языке Perl (Practical Extraction and Report Language)- очень удобном языке,впитавшем из других все лучшие черты.Может у вас возникнуть сомнение :Ну вот!Изучать новый язык программирования!? Спешу вас успокоить,изучение Perl не будет в тягость (я сужу по своему опыту!). Вы даже сами не заметите как выучите его.Если вы хоть когда-нибудь программировали скажем на C и использовали утилиту grep для поиска регулярных выражений в тексте,то вам будет еще легче.Мое изучение Perl началось с того что я скачал Perl подWindows (фирмы ActiveWare) и изучения той HTMLой документации которая к нему прилагалась хватило чтоб этот язык стал моим любимым….
Все в нем сделано для удобства программиста (в отличии например от Java;( )
Начнем с переменных,они в Perl бывают 3х типов скаларные,списковые(массивы) и хэши(ассоциативные массивы). Для указания компилятору(да и для немалого удобства программиста) перед именем скалярной переменной стоит знак ‘$’ перед массивом ‘@’,перед хешем ‘%’. т.е. например $scalar_var,@array_var,%hash_var Скалярные переменные могут быть как числовые так и строковые,но это не надо указывать Perl сам по контексту в зависимости от операций может привести одно к другому.
Например: «123″+»4″ будет 127 (или «127″) так как операция ‘+’ действует над числами а вот если применить операцию конкатенации строк ‘.’ то строковое «test» . 1 будет «test1″


Ну а вот операции над скалярными переменными:

Операцыи Описание Пример
+ — * / % Арифметические print 2*7+4/(8%3);
print int(127/15); #целая часть
** Возведение в степень print 2**16;
++ — Инкремент-декремент $i++;
& | ^ ~ << >> Побитовые $x=3;$y=4;
print $x|$y;
print $x&$y;
== != < > <= >= <=> Числовые операции сравнения if($x==9){print «Ok!»;}
eq ne lt gt le ge cmp стрковые операции сравнения if($game eq ‘doom’){print «You are doomer!\n»;}
|| && ! Логические if(($x==9)||($game eq ‘doom’)){print «hello you!\n»;}
?: Условный оператор $x=($game eq ‘quake’?9:8);
, Последовательное вычисление $x=10,$y=20;
. Конкатенация $x=’http://’.'www.uic.nnov.ru’;
x Повторение $x=’1234′x5; #$x=’12341234123412341234′
=~ Сопоставление с образцом if($url=~/http/){print «HTTP»;}
!~ То же но с отрицанием if($url!~/http/){print «No HTTP»;}
= += -= *= /= %= **= |= &= ^= ~= <<= >>= .= x= Присваивание $x+=$y;

(далее…)

Переменные.

В Perl существует три типа структур данных: скаляры, массивы скаляров и хеши (hashes) — ассоциативные массивы скаляров. Обычно элементы массивов индексируются целыми числами, первый элемент — нулевой. Отрицательное значение индекса обозначает номер позиции элемента с конца. Хеши индексируются строками символов.

Имена скалярных переменных всегда начинаются с символа ‘$’ даже когда обозначают элемент массива.

Пример:

$var1 # Простой скаляр ‘var1′
$var1[0] # Первый элемент массива ‘var1′
$var1{‘first’} # Элемент с индексом ‘first’
В случае использования имени массива «целиком» или его «среза» перед именем массива ставится символ ‘@’.
(далее…)

Конструкторы и деструкторы: заключительные замечания

В общих чертах, мы закончили описание конструкторов и деструкторов — важных элементов любого класса. Хотя в дальнейшем нам придётся ещё несколько раз обратиться к этому вопросу, главное уже позади.
И всё же следует сделать несколько замечаний.

Конструктор превращает фрагмент памяти в объект. Посредством операции обращения непосредственно «от имени» объекта можно вызвать функции-члены класса.
(далее…)

Тип связывания или тип компоновки

Тип связывания или тип компоновки определяет соответствие имени объекту или функции в программе, исходный текст которой располагается в нескольких модулях. Различают статическое и динамическое связывание.
Статическое связывание бывает внешним или внутренним. Оно обеспечивается на стадии формирования исполнительного модуля, ещё до этапа выполнения программы.

Если объект локализован в одном модуле, то используется внутреннее связывание. Тип компоновки специальным образом не обозначается, а определяется компилятором по контексту, местоположению объявлений и использованию спецификаторов класса памяти.
(далее…)

Объекты и функции

Объектом называют область памяти, выделяемую для сохранения какой-либо информации. Эта информация в данной области памяти кодируется двоичной последовательностью. Такие последовательности составляют множество значений объекта.

Резервирование области памяти предполагает обязательную возможность доступа к ней. Обращение к объекту обеспечивается выражениями. Выражение в языке программирования является единственным средством взаимодействия с объектами. Частным случаем выражения является имя объекта.
(далее…)

Символы операций и разделителей

Воскресенье, Март 23rd, 2008 Нет комментариев

Under : , , , ,

Множество лексем, соответствующее множеству символов операций и разделителей строится на основе набора специальных символов и букв(!) алфавита. Единственное правило словообразования для этих категорий лексем заключается в задании фиксированного множества символов операций и разделителей.
(далее…)