SciTE - редактор кода для программистов http://scite.ruteam.ru/index.php SciTE - редактор кода для программистов ru CuteNews.RU 2.5.4 <![CDATA[Переменные в файлах .properties]]> http://scite.ruteam.ru/scite/faq/peremennye-v-failax-properties font.comment=fore:#C00000
то не факт что при этом добьетесь желаемого эффекта.
Как не перепутать переменные и реальные ключи в файлах настроек - об этом данная статья.
В конце ее - полезный скрипт.]]>
http://scite.ruteam.ru/scite/faq/peremennye-v-failax-properties#comment1
Файлы *.properties не скрипты, а ключи name=value отнюдь не переменные.
Например, вы не сможете "дописать" ключ или обменять значения двух ключей:
name=value
name=$(name)_plus_more_value


Вышеприведённая пара строк вовсе не равна
name=value_plus_more_value

Вернее будет рассматривать описания ключей, как LL-грамматику (за исключение того, что последующие строки переписывают, а не дополняют определения ключей).

При этом действующее значение ключа получается в момент обращения к нему.
Для приведённого мной примера логика такая:
1) name=value - определяется ключ name со значением 'value'
2) name=$(name)_plus_more_value - ключ name переопределяется заного, со значением '$(name)_plus_more_value'

3) при чтении значения name позже ( в properties, LUA-скриптах, ... ) программа проверяет, есть ли зарегистрированный ключ name?
3.1) Ага, нашли name, получили его значение '$(name)_plus_more_value'
3.2) '$(name)_plus_more_value' парсится на предмет подстановок - снова ищется ключ name
3.3) Ага, нашли name, получили его значение и подставили: '$(name)_plus_more_value_plus_more_value', снова парсим на предмет подстановок...
3.4) и так далее в бесконечном цикле, пока не достигнем максимума длины значения ключа.]]>
Tue, 11 May 2010 07:25:05 +0000