Комплектът не работи на скорост

Изглежда, че set не работи по отношение на скоростта, когато е написано по-долу:

#set (${modifier} = "some")

Работи, ако направя #set ($modifier = "some"). Има ли причина за това?

РЕДАКТИРАНЕ: Не работи, означава, че не е зададена променлива.


person fastcodejava    schedule 05.06.2010    source източник
comment
Бихте ли уточнили какво трябва да означава не работи?   -  person Péter Török    schedule 06.06.2010


Отговори (1)


Това е така, защото ${varname} не е валидно име на променлива в скоростта, както е дефинирано в справочно ръководство

Също така често съм объркан от тези привидно случайни промени в синтаксиса.

person Peter Tillemans    schedule 05.06.2010
comment
Предполагам, че можете да посочите променлива като ${varname}, но я дефинирайте така. - person fastcodejava; 06.06.2010
comment
Не мисля, че синтаксисът е променен през последните 10 години - така беше дори в WebMacro (дядото на Velocity). Променливите се дефинират само с помощта на знака $. Къдравите скоби се използват, когато се препращат към обекти и тяхната подобектна графика и за отделянето им от околната среда: напр. където текстът ще продължи точно в края на променливата, така че Velocity трябва сега да разбере какъв е текстът и какво е променливата. - person A. Ionescu; 26.06.2010
comment
Имах предвид промени в контекста. Velocity използва същите принципи като bash и perl, за да реши проблема с разграничаването между име на променлива и останалата част от текста. - person Peter Tillemans; 26.06.2010