Сортировка итераторов PHP

Я пока не могу оставлять комментарии так:

Имейте в виду, что ответ шахавата может привести к небольшим несоответствиям, он будет соответствовать любой версии '123abc' в файле, поэтому, если это произойдет, у вас есть

[110 ]

это займет первое (если вы берете только первое найденное совпадение). Чтобы противостоять этому в некоторой части, вы можете добавить ^ \ s * в начале регулярного выражения следующим образом:

^\s*(version)\s*([A-Z0-9.'/-]+)

^ соответствует началу строки

\ s соответствует любому символу пробела [118 ]

* - жадное сопоставление, поэтому в этом случае оно будет продолжать сопоставлять все пробельные символы

, поэтому вы можете иметь столько пробелов между версией и номером версии, а также между началом строки и строкой версии в случае некоторых потерянные пробелы или аналогичные имена, поставленные ранее.

Также, используя gradle API ( https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html ), вы можете создать простой gradle плагин gradle, который может сообщать о версии через

project.version

, которые вы можете подать заявку на каждый проект, а затем запустить его извне.

13
задан Greg 30 October 2008 в 18:42
поделиться

1 ответ

Нет никакого способа сделать это. Итератор должен "выполнить итерации" через список. Необходимо отсортировать базовый список для достижения необходимого поведения.

Между прочим, более полная ссылка на SPL здесь: http://www.php.net/~helly/php/ext/spl/

6
ответ дан 2 December 2019 в 00:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: