• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Пересечение списков.

  • Автор темы Автор темы DNT
  • Дата начала Дата начала
D

DNT

Добый день.
Вот немогу никак допереть:

Есть два поля на форме: field1 и field2, оба они текстовые с "мультивалю".
Нужно найти результат пересечения списков - вывести совпадающие значения из этих полей.
На формуле решается таким макаром:
@Prompt([Ok]; "Rezult"; @Implode(@Trim(@Replace (field1; field2 : field1; field2))))
Работает на ура.

Теперь мне в теле агента понадобилось сделать тоже самое и дальше использовать полученный результат.
Как лучше организовать? Перебором? Списки большие, нужно добиться максимальной производительности!
Как бы вы решили такую задачу?
 
1 поле в лист, 2 в лист, перебор по любому списку с проверкой а есть ли такой элемет во втором списке.
Думаю так быстрее всего будет
 
@Trim(@Replace (field1; field2 : field1; field2))
- cool ... я бы наверное при постановке такой задачки воспользовался @Keywords(field1; field2)

а если тебе нужно тоже самое на LotusSript, то welcome - Evaluate( @Trim(@Replace (field1; field2 : field1; field2)), doc )
 
ArrayUnique, ArrayReplace, Trim, FullTrim
все это есть в скрипте
 
Всем спасибо. Вопрос решился используя ArrayReplace.
Основная задача была добиться высокого быстродействия. Разницу во времени работы что на формулах, что на скрипте визуально отличить невозможно - почти мгновенно отрабатывает, при том что оба поля по 20кБ.
Так что я остановился на ArrayReplace.
 
Вплоть до 6-ки на собаках ВСЁ ВСЕГДА работало быстрее. Потом г.Кац переписал движок и ..
 
Потом г.Кац переписал движок и ..
вот тут интересно, использовалось обращение "господин" или какое-то другое слово? :))

Так что я остановился на ArrayReplace.
а почему ж не на @Evaluate({@Keywords(...)})?.. вопрос риторический :)
 
вот тут интересно, использовалось обращение "господин" или какое-то другое слово? ;))


а почему ж не на @Evaluate({@Keywords(...)})?.. вопрос риторический :)


)))
а кто это "г.Кац"? (или тоже риторический ... :) )

кстати я вот о чем хотел спросить: есть ли смысл использовать @Evaluate () когда есть аналогичная функция на LS. Всегда думал что нет, и лучше использовать LS, ИМХО.
 
когда как, иногда есть, иногда как нагородят, что не поймешь зачем оно надо и что делает...
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab