Метод Пиза для for-цикла
Метод Пиза для for-цикла
Для простых for-циклов, которые должны выполниться строго определенное число раз, вместо рекурсии можно использовать весьма остроумный метод, предложенный Венделлом Пизом (Wendell Piez, Mullberry Technologies, Inc). Суть метода состоит в том, что хоть мы и не можем сгенерировать множество узлов, выбрать множество с определенным количеством узлов нам вполне по силам.
Для начала выберем какое-нибудь множество узлов документа преобразования:
<xsl:variable name="set" select="document(')//node()"/>
Затем для повторения определенных действий несколько раз используем конструкцию вида
<xsl:for-each select="$set[position() <= $number]">
<!-- Действия -->
</xsl:for-each>
где number указывает требуемое число итераций.
При использовании метода Пиза следует учитывать следующие особенности.
? Множество узлов set не должно быть слишком большим — иначе его выбор будет неэффективным.
? Множество узлов set обязательно должно содержать число итераций (number) узлов.
В целом же метод Пиза — классический пример эффективного применения инструментов не по назначению.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Операторы цикла
Операторы цикла Для многократного выполнения кода используют операторы цикла. Кроме того, циклы предоставляют удобные средства для манипулирования массивами.Цикл forОператор for служит для создания цикла. Он имеет следующий синтаксис:for (выражение инициализации;
Прерывание и перезапуск цикла
Прерывание и перезапуск цикла Иногда бывает нужно прервать выполнение цикла. Для этого JavaScript предоставляет Web-программистам операторы break и continue.Оператор прерывания break позволяет прервать выполнение цикла и перейти к следующему за ним выражению:while (a < 100) {a = a * i + 2;if (a >
Длительность рабочего цикла
Длительность рабочего цикла Но сам процесс работы серьезно изменился. В 1960-е годы я мог ждать день или два для получения результатов компиляции. В конце 1970-х годов программа из 50 000 строк компилировалась около 45 минут. Даже в 1990-е годы долгая сборка казалась нормой.В наши
Прерывание и перезапуск цикла
Прерывание и перезапуск цикла Иногда бывает нужно прервать выполнение цикла. Для этого JavaScript предоставляет Web-программистам операторы break и continue.Оператор прерывания break позволяет прервать выполнение цикла и перейти к следующему за ним выражению:while (a < 100) {a = a * i + 2;if (a
2.2. Повторение (операторы цикла)
2.2. Повторение (операторы цикла) Циклом называется группа операторов, которая выполняется повторно. После каждого повторения проверяется условие, называемое условием окончания цикла, по которому принимается решение продолжать повторение или закончить
R.6.5 Операторы цикла
R.6.5 Операторы цикла Эти операторы задают виды цикла.оператор-цикла: while ( выражение ) оператор do оператор while ( выражение ) for ( оператор-иниц выражение opt ; выражение opt ) оператороператор-иниц: оператор-выражение оператор-описаниеОбратите внимание, что конструкция
Завершение цикла while
Завершение цикла while Мы подошли к самому существенному моменту рассмотрения циклов while. При построении цикла while вы должны включить в него какие-то конструкции, изменяющие величину проверяемого выражения так, чтобы в конце концов оно стало ложным. В противном случае
Оператор цикла с предусловием while
Оператор цикла с предусловием while Синтаксис:while (<выражение>) <оператор>Действие:Тело оператора цикла while выполняется до тех пор, пока значение <выражения> не станет ложным (т.е. равным нулю). Вначале вычисляется <выражение>. Если <выражение> изначально ложно,
5.5. Инструкция цикла for
5.5. Инструкция цикла for Как мы видели, выполнение программы часто состоит в повторении последовательности инструкций - до тех пор, пока некоторое условие остается истинным. Например, мы читаем и обрабатываем записи файла, пока не дойдем до его конца, перебираем элементы
Операторы цикла while и repeat
Операторы цикла while и repeat Оператор цикла while имеет следующую форму: while условие do оператор Условие представляет собой выражение логического типа, а оператор после do называется телом цикла. Перед каждой итерацией цикла условие вычисляется, и если оно истинно, то
Синтаксис цикла
Синтаксис цикла Синтаксис цикла непосредственно следует из предшествующих соображений, определяющих ингредиенты цикла. Он будет включать элементы, отмеченные как необходимые.[x]. Инвариант цикла inv - утверждение.[x]. Условие выхода exit, чья конъюнкция с inv дает желаемую