Массовое создание переменных

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

Severip

Client
Регистрация
17.10.2013
Сообщения
346
Реакции
100
Баллы
28
Есть список синонимов в формате:
peremennaya1 => слово | синоним 1 | синоним 2
peremennaya2 => слово | синоним 1 | синоним 2
название предполагаемых переменных естественно разные.
Предполагается построчное взятие строки и разбор ее регуляркой.

Вопрос:
Как в шаблоне массово создавать одноименные переменные при взятии строки?
То есть взял строку, взял из строки название переменной и создал в шаблоне такую переменную, а затем в нее записал то, что после знака "=>".
 
Пока никак, это было бы возможно из под кода, но не реализован такой дотуп к переменным, а кубики генерировать автоматом тоже не выходит)
 
Пробовал как вариант в экселе заранее создавать как пустые так и не пустые переменные, но это слишком геморно и неудобно, особенно синхронизацию проводить.
Может быть можно как-то цикл использовать, только пока не соображу как...
 
Динамического создания переменных не планируется.
 
Динамического создания переменных не планируется.
Хорошо, может быть подскажите как организовать по другому базу синонимов и выдергивать их из списка в нужное место шаблона, если учесть, что переменные на лету создавать нельзя?
Ведь синонимов может использоваться много, и в текущий момент времени нужен какой-то один, который и должен в теории подставляться через переменную. Как тут быть?
 
использовать одну переменную..
в следующем цикле работы с синонимом содержимое переменной будет затерто новым содержимым..
 
Ребята, все не то. Из синонимов нужно собрать текст, в котором участвует от 50 переменных (примерно до 100), цикл точно не подойдет (переменных ведь много, они нужны все сразу) и создавать пустые экшены с переменными для каждого (их десятки) проектов тоже не годится.
Пока все заменяемые значения лежат в таблице в одной строке и присваиваются переменным по столбцам (есть такая фишка в экшене работы с таблицами - "В переменные"), но это страшно неудобно, т.к. в другом проекте своя аналогичная таблица. При этом половина значений повторяется и все это отследить и синхронизировать настоящая мука! При возможности генерировать динамически переменные этот вопрос бы вообще не стоял, посему хочется найти альтернативу, но пока не получается...
 
Динамического создания переменных не будет.
В чем проблема организовать цикл? Брать построчно из таблицы/списка данные, производить замену в тексте, брать следующую строку?
 
Что то мне подсказывает что ТС как то логику построил с балалайками и медведями, и поэтому есть проблемы....
Откуда 50 переменных?
я так понимаю у вас банальный синонимайзер что ли?
слово синоним|синоним|и.т.д?

в одной переменной лежит текст (text)
в другую переменную в цикле берете первое слово (строчку) (str):
- регуляркой дергаете само слово (word)
- второй регуляркой дергаете коллекцию синонимов, и в номере совпадения указываете random (var)

Меняете заменой в переменной текста (text) слово(word) на то что дернулось второй регуляркой (var)

У меня получилось 4 переменных на неограниченное количество вариантов слова в базе синонимов ( ну почти.... при внушительных размерах базы и размеров текстов делать такой перебор - немножко глупо, но сдается мне для данной конкретной задачи может подойти)
 
Lexicon, спасибо за подсказку, так действительно можно решить проблему. Это и правда небольшой синонимайзер в шаблоне для рандомизации постов.
Есть правда одно но, сколько времени потребуется для перебора, чтобы сгенерировать таким образом текст? В списке может быть до 100 строк.
 
доли секунды. просто в ПМ встроена задержка для отрисовки ( а еще мне кажется чтобы никого случайно не стошнило от пестроты))))
Можно включить в настройках отложенную отрисовку и все внутренние циклы пройдут очень шустро.
У меня схожая по сути операция есть в одном шаблоне, где я сравниваю подгруппы по урлам на сайтах....и вот там по сути нужно 800 000 раз перебрать 800 000 строк ( да да я знаю что это кривое решение))) но мне нужно было быстро и лениво))))) и вот такая фигня отрабатывается где то минуты 3)
 
Все задуманное получилось, всем спасибо!
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)