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

Severip

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

Вопрос:
Как в шаблоне массово создавать одноименные переменные при взятии строки?
То есть взял строку, взял из строки название переменной и создал в шаблоне такую переменную, а затем в нее записал то, что после знака "=>".
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Пока никак, это было бы возможно из под кода, но не реализован такой дотуп к переменным, а кубики генерировать автоматом тоже не выходит)
 

Severip

Client
Регистрация
17.10.2013
Сообщения
346
Благодарностей
98
Баллы
28
Пробовал как вариант в экселе заранее создавать как пустые так и не пустые переменные, но это слишком геморно и неудобно, особенно синхронизацию проводить.
Может быть можно как-то цикл использовать, только пока не соображу как...
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Динамического создания переменных не планируется.
 

Severip

Client
Регистрация
17.10.2013
Сообщения
346
Благодарностей
98
Баллы
28
Динамического создания переменных не планируется.
Хорошо, может быть подскажите как организовать по другому базу синонимов и выдергивать их из списка в нужное место шаблона, если учесть, что переменные на лету создавать нельзя?
Ведь синонимов может использоваться много, и в текущий момент времени нужен какой-то один, который и должен в теории подставляться через переменную. Как тут быть?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 270
Благодарностей
9 054
Баллы
113
использовать одну переменную..
в следующем цикле работы с синонимом содержимое переменной будет затерто новым содержимым..
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113

Severip

Client
Регистрация
17.10.2013
Сообщения
346
Благодарностей
98
Баллы
28
Ребята, все не то. Из синонимов нужно собрать текст, в котором участвует от 50 переменных (примерно до 100), цикл точно не подойдет (переменных ведь много, они нужны все сразу) и создавать пустые экшены с переменными для каждого (их десятки) проектов тоже не годится.
Пока все заменяемые значения лежат в таблице в одной строке и присваиваются переменным по столбцам (есть такая фишка в экшене работы с таблицами - "В переменные"), но это страшно неудобно, т.к. в другом проекте своя аналогичная таблица. При этом половина значений повторяется и все это отследить и синхронизировать настоящая мука! При возможности генерировать динамически переменные этот вопрос бы вообще не стоял, посему хочется найти альтернативу, но пока не получается...
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Динамического создания переменных не будет.
В чем проблема организовать цикл? Брать построчно из таблицы/списка данные, производить замену в тексте, брать следующую строку?
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Что то мне подсказывает что ТС как то логику построил с балалайками и медведями, и поэтому есть проблемы....
Откуда 50 переменных?
я так понимаю у вас банальный синонимайзер что ли?
слово синоним|синоним|и.т.д?

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

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

У меня получилось 4 переменных на неограниченное количество вариантов слова в базе синонимов ( ну почти.... при внушительных размерах базы и размеров текстов делать такой перебор - немножко глупо, но сдается мне для данной конкретной задачи может подойти)
 

Severip

Client
Регистрация
17.10.2013
Сообщения
346
Благодарностей
98
Баллы
28
Lexicon, спасибо за подсказку, так действительно можно решить проблему. Это и правда небольшой синонимайзер в шаблоне для рандомизации постов.
Есть правда одно но, сколько времени потребуется для перебора, чтобы сгенерировать таким образом текст? В списке может быть до 100 строк.
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
доли секунды. просто в ПМ встроена задержка для отрисовки ( а еще мне кажется чтобы никого случайно не стошнило от пестроты))))
Можно включить в настройках отложенную отрисовку и все внутренние циклы пройдут очень шустро.
У меня схожая по сути операция есть в одном шаблоне, где я сравниваю подгруппы по урлам на сайтах....и вот там по сути нужно 800 000 раз перебрать 800 000 строк ( да да я знаю что это кривое решение))) но мне нужно было быстро и лениво))))) и вот такая фигня отрабатывается где то минуты 3)
 

Severip

Client
Регистрация
17.10.2013
Сообщения
346
Благодарностей
98
Баллы
28
Все задуманное получилось, всем спасибо!
 

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