inververs
AutoIT Гуру
- Сообщения
- 2,135
- Репутация
- 465
AutoIt: Production Version: 3.3.8.1
Версия: 1.0
Категория: случайные числа, генераторы, регулярные выражения.
Описание: Функция генерирует строку, разделенную заданным разделителем, состоящую из уникальных чисел заданного диапазона.
Код/Пример:
На выходе, строка вида 5,3,7,8,1,9,4,2,6,10
История версий:
Источник: autoit-script.ru
Автор(ы): <a href="http://autoit-script.ru/index.php?action=profile;u=697">inververs</a>
Версия: 1.0
Категория: случайные числа, генераторы, регулярные выражения.
Описание: Функция генерирует строку, разделенную заданным разделителем, состоящую из уникальных чисел заданного диапазона.
Код/Пример:
Код:
ConsoleWrite(RandomUniq(1, 10) & @LF) ;Пример.
Func RandomUniq($iSt, $iEnd, $sd = ',')
If $iSt > $iEnd Then Return SetError(1, 0, 0)
Local $s = $sd, $k = 0
For $i = $iSt To $iEnd
$s = StringRegExpReplace($s, '^(?:-?\d*' & $sd & '?){' & Random(0, $k, 1) & '}?', '$0${1}' & $i & $sd)
$k += 1
Next
$s = StringTrimRight($s, 2)
Return SetError(0, 0, $s)
EndFunc ;==>RandomUniq
На выходе, строка вида 5,3,7,8,1,9,4,2,6,10
История версий:
1.0.0.0 Релиз.
Если используете зарезервированные в REGEXP конструкторы в качестве разделителя, то не забывайте про экранирование.
Полученную строку легко можно превратить в массив функцией
Если используете зарезервированные в REGEXP конструкторы в качестве разделителя, то не забывайте про экранирование.
Полученную строку легко можно превратить в массив функцией
Код:
StringSplit
Источник: autoit-script.ru
Автор(ы): <a href="http://autoit-script.ru/index.php?action=profile;u=697">inververs</a>