Рандомный выбор строки из текстового файла

Поддержка
  • Опять выше "Советчики". В ресурсе ставишь галку "МЕШАТЬ СТРОКИ". Дальше действие - установить переменную - из ресурса (твоего 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 Вот я подключил список, а как потом вызывать от сюда рандомную строку.
    0_1542293857631_Screenshot_3.png

  • @4ip Я же написал выше две строчки, вставьте их в код, замените [[LIST]] на ваш список и перемешивайте сколько угодно раз.

  • @senerg Спасибо, а как мне добавить этот код в список. И передать рандомную строчку в переменную?

    [[LIST]] - сюда я могу вставить название списка из ресурса (текстовый файл). Или из переменной, куда я их загнал через Читать файл в список.

  • @4ip

    [[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 адресов, и нужно чтобы в переменную загонять рандомную строку из текстового файла. Как это можно сделать?

    Устанавливаете ресурс:
    0_1542294544442_801821ad-8e62-4165-b551-7ab7f4459863-изображение.png
    Можете установить "успешных использований" больше.


    А в цикле указываете устанавливаете переменную с ресурсом, без галочки "Повторное использование"
    0_1542294632173_47ddee8b-45ab-455f-87c3-e75066206084-изображение.png

  • @fox Благодарю.
    Смотрите, у меня следующая ситуация. У меня к примеру есть 10 URL адресов, и нужно рандомно открывать их и выполнять на них действия. К примеру чтобы в целом нужно открыть все урлы где-то 50 раз. А с reuse я так понимаю каждый адрес будет использоваться только 1 раз.

  • @4ip

    @4ip said in Рандомный выбор строки из текстового файла:

    @fox Благодарю.
    Смотрите, у меня следующая ситуация. У меня к примеру есть 10 URL адресов, и нужно рандомно открывать их и выполнять на них действия. К примеру чтобы в целом нужно открыть все урлы где-то 50 раз. А с reuse я так понимаю каждый адрес будет использоваться только 1 раз.

    Указываете "успешных использований" 50, и каждая ссылка будет открываться 50 раз.

  • @fox А так как строчки будут мешаться, то маловероятно, что одни и те же адреса будут открываться подряд?

  • @4ip said in Рандомный выбор строки из текстового файла:

    @fox А так как строчки будут мешаться, то маловероятно, что одни и те же адреса будут открываться подряд?

    При запуске скрипта у вас перемешаются строки в ресурсе и будут выдаваться по очереди. Например в строке есть 10 строк:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    

    В перемешанном виде они например будут выглядеть так:

    6
    2
    7
    9
    1
    3
    0
    4
    8
    5
    

    Если выставить 50 успешных использований и не ставить галочку "жадный алгоритм", то браться они будут по очереди 50 раз:

    6
    2
    7
    9
    1
    3
    0
    4
    8
    5
    //а затем по новой
    6
    2
    7
    9
    1
    3
    0
    4
    8
    5
    //и снова
    6
    2
    7
    9
    1
    3
    0
    4
    8
    5
    //и так все 50 раз.
    
  • Попробуйте мой способ!
    alt text