Онлайн-справочник по самым часто задаваемым вопросам из темы "Как сделать?" на форуме QSP.su

1.5. Чем отличаются эти две команды? `pl "<<$perem>>"` и `pl $perem`

В: Чем отличаются эти две команды?

*pl "<<$perem>>" 
*pl $perem 

О:

На экране различий Вы не увидите, да и в игре особой разницы не почувствуете. Результат их работы одинаков.

А вот работают они по разному.

Когда плеер встречает первую команду, он видит оператор `pl`, и что этому оператору передано некое значение — строка. Так же он видит, что в строке присутствует подвыражение. Первым делом он пытается вычислить значение этого подвыражения, которое соответствует значению переменной `$perem`. Это значение плеер подставляет в строку. Таким образом у него получается текстовая константа. Затем он берёт значение этой текстовой константы и передаёт оператору `pl`, который и выводит значение на экран.

Когда плеер встречает вторую команду, он просто получает значение переменной `$perem` и передаёт его оператору.

Первая команда принуждает плеер выполнять двойную работу. Это будет заметно при больших объёмах вычислений. Первая команда выполняется примерно в 1,3 раза дольше.