Рандомный выбор строки из текстового файла
-
Как можно сделать рандомный выбор строик. К примеру у меня есть подключенный текстовый файл, со списком URL адресов, и нужно чтобы в переменную загонять рандомную строку из текстового файла. Как это можно сделать?
-
@4ip через Ресурс - мешать строки.
Или читать файл в список, найти рандомное значение от 0 до список.length, и по этому индексу выбирать элемент списка.
-
@senerg said in Рандомный выбор строки из текстового файла:
Или читать файл в список, найти рандомное значение от 0 до список.length, и по этому индексу выбирать элемент списка.
Зачем такие сложности когда можно просто взять случайный элемент из списка?
-
@bigorat Спасибо. Похоже что это хороший вариант. Только там я не могу подключить ресурс, текстовый файл. А только переменную.
Мне с начала текстовый файл занести в переменную?
-
@bigorat мне в коде проще, чем с кубиками.
-
@4ip ну вам выше @senerg написал же, можно просто брать случайную строку из ресурса, установив галку "мешать строки" ну и если нужна каждый раз новая строка то с опцией "notreuse". Таки образом будет ресурс как список утрировано :)
-
@senerg said in Рандомный выбор строки из текстового файла:
@bigorat мне в коде проще, чем с кубиками.
@senerg said in Рандомный выбор строки из текстового файла:
Или читать файл в список, найти рандомное значение от 0 до список.length, и по этому индексу выбирать элемент списка.
Прошу прощения. Как это реализовать без кубиков?
-
[[RND]] = Math.floor((Math.random() * [[LIST]].length) + 0);
-
@senerg said in Рандомный выбор строки из текстового файла:
[[RND]] = Math.floor((Math.random() * [[LIST]].length) + 0);
Этот код лишь получает случайное число.
Помимо этого ещё нужно получить файл в список и выбрать элемент с индексом значения полученной переменной. Я думал, вы все эти действия в коде предлагаете сделать, но ваше решение подразумевает на один кубик и на одну переменную больше.
Это точно проще?
-
Опять выше "Советчики". В ресурсе ставишь галку "МЕШАТЬ СТРОКИ". Дальше действие - установить переменную - из ресурса (твоего TXT). Каждый раз в переменной будет рандомная строка.
-
@bigorat Я тут писал, https://community.bablosoft.com/topic/5751/повторный-запуск-скрипта/10 что у меня почему-то повторно не запускается скрипт, чтобы перемешать строки в текстовом файле. Поэтому нужно как-то их брать из текстового файла и мешать.
Зачем такие сложности когда можно просто взять случайный элемент из списка?
Перенес список строчек из текстового файла в переменную, выбирал потом случайную строку из этой переменно, то не работает.
-
@xclsv said in Рандомный выбор строки из текстового файла:
Я думал, вы все эти действия в коде предлагаете сделать
Все, кроме получения файла. Его, конечно тоже можно скопировать из кубика, но там сложно потом будет что-либо поменять.
[[RND_INDEX]] = Math.floor((Math.random() * [[LIST]].length - 1) + 0); log([[LIST]][ [[RND_INDEX]] ]);
У меня обычно выбором элемента дело не заканчивается и дальше идет еще какая-то логика. Поэтому для меня в коде проще.
@fastspace said in Рандомный выбор строки из текстового файла:
Опять выше "Советчики"
@senerg said in Рандомный выбор строки из текстового файла:
@4ip через Ресурс - мешать строки.
-
@senerg said in Рандомный выбор строки из текстового файла:
через Ресурс - мешать строки.
У меня почему-то повторно не запускается скрипт, чтобы перемешать строки в текстовом файле (я ж так понимаю строки перемешиваются при запуске скрипта и подключении ресурса). Поэтому нужно как-то их брать из текстового файла и мешать.
-
@bigorat Вот я подключил список, а как потом вызывать от сюда рандомную строку.
-
@4ip Я же написал выше две строчки, вставьте их в код, замените [[LIST]] на ваш список и перемешивайте сколько угодно раз.
-
@senerg Спасибо, а как мне добавить этот код в список. И передать рандомную строчку в переменную?
[[LIST]] - сюда я могу вставить название списка из ресурса (текстовый файл). Или из переменной, куда я их загнал через Читать файл в список.
-
[[RND_INDEX]] = Math.floor((Math.random() * [[LIST_WITH_FILE_CONTENT]].length - 1) + 0); [[RANDOM_ELEMENT]] = [[LIST_WITH_FILE_CONTENT]][ [[RND_INDEX]] ];
-
@fastspace said in Рандомный выбор строки из текстового файла:
Опять выше "Советчики"
Пренебрегать добровольной бесплатной помощью? Чтож будь по вашему.
@4ip said in Рандомный выбор строки из текстового файла:
Как можно сделать рандомный выбор строик. К примеру у меня есть подключенный текстовый файл, со списком URL адресов, и нужно чтобы в переменную загонять рандомную строку из текстового файла. Как это можно сделать?
Устанавливаете ресурс:
Можете установить "успешных использований" больше.
А в цикле указываете устанавливаете переменную с ресурсом, без галочки "Повторное использование"
-
@fox Благодарю.
Смотрите, у меня следующая ситуация. У меня к примеру есть 10 URL адресов, и нужно рандомно открывать их и выполнять на них действия. К примеру чтобы в целом нужно открыть все урлы где-то 50 раз. А с reuse я так понимаю каждый адрес будет использоваться только 1 раз.
-
@4ip said in Рандомный выбор строки из текстового файла:
@fox Благодарю.
Смотрите, у меня следующая ситуация. У меня к примеру есть 10 URL адресов, и нужно рандомно открывать их и выполнять на них действия. К примеру чтобы в целом нужно открыть все урлы где-то 50 раз. А с reuse я так понимаю каждый адрес будет использоваться только 1 раз.Указываете "успешных использований" 50, и каждая ссылка будет открываться 50 раз.