В цикле из ресурса "файл" берет одну и туже строку



  • Всем привет, к делу.
    В цикле из ресурса "файл" берет одну и туже строку, хотя должен при каждом проходе цикла брать следующую. Пример:

    for (i = 0; i < 5; i++) {
            log({{send_email|notreuse}});
            }
    

    За все 5 проходов выдаст одну и туже строку. Если сделать так, без цикла:

    log({{send_email|notreuse}});
    log({{send_email|notreuse}});
    log({{send_email|notreuse}});
    

    То каждый раз возьмет следующую строку, без повторений, как и должно работать. Мне нужен цикл. Так почему не работает в цикле не могу понять? Это баг такой, или я что-то делаю не так?



  • @MiMiMi Если посмотрите в сам скрипт, то обнаружите там это

       RS("send_email", true, false)!
       RESOURCE_830638 = _result().get()
       for (i = 0; i < 5; i++) {
       log(RESOURCE_830638);
       }
    

    И сразу всё станет понятно.

    То каждый раз возьмет следующую строку, без повторений, как и должно работать.

       RS("send_email", true, false)!
       RESOURCE_905357 = _result().get()
       RS("send_email", true, false)!
       RESOURCE_490660 = _result().get()
       RS("send_email", true, false)!
       RESOURCE_639964 = _result().get()
       RS("send_email", true, false)!
       RESOURCE_395061 = _result().get()
       log(RESOURCE_905357);
       log(RESOURCE_490660);
       log(RESOURCE_639964);
       log(RESOURCE_395061);
    


  • Я не тру кодер, но вы по моему написали тоже самое что и я, только на более техническом уровне) В итоге и выходит что в цикле БАС подставляет одну и туже строку, вместо того чтобы при каждой итерации брать новую.
    То есть взять несколько разных значений в цикле никак не получится? Только кубиками делать?



  • @MiMiMi

    _do(function() { 
        i=_iterator()-1;
         if(i==5)_break();
          RS("send_email", true, false)!
          log(_result().get()) })!
    

    Подсказал @Denis_krsk, спасибо, у него много таких костылей :D

    Если использовать в одном потоке, то можно ещё так:

    for (i = 0; i < 5; i++) 
        log(RMap("send_email").at(i))
    

    Либо так:

    var send_email = RMap("send_email").toList()
    for (i = 0; i < 5; i++) 
        log(send_email[i])
    


  • Эх, вроде простое дело но требует костылей. Спасибо за помощь, вечерком опробую. Родина вас не забудет)



  • @MiMiMi

    Родина вас не забудет

    Последний раз я это слышал в качестве оскорбления.

    Если помог, можешь выразить благодарность кнопкой 0_1526909639711_на форум 1.png


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.