Перейти к основному содержимому

1.3. В чём разница между ' ' (апострофы) и " " (кавычки)?

В: В чём разница между ' ' (апострофы) и " " (кавычки)?

О:

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

*pl "Строка текста"
*nl 'Ещё одна строка текста'

Две группы символов нужны для того, чтобы мы с вами могли выводить и те и другие на экран. Например:

*pl 'В кабачке "У Мо" сегодня весело и шумно.'
*pl "Руг'Ста'Раг сказал: — Что ты хочешь, мора? Хочешь мухомора?"

Если в строке предполагается использовать обе группы символов, их можно экранировать дублированием:

! экранируем апострофы

*pl 'По дороге в кабачок "У Мо" наш старый приятель Руг''Ста''Раг чуть не нарвался на неприятности.'
! экранируем кавычки

*pl "По дороге в кабачок ""У Мо"" наш старый приятель Руг'Ста'Раг чуть не нарвался на неприятности."

Если вам нужно вставить значение какого-либо выражения в строку, вы можете использовать так называемые вложенные выражения (я называю их "подвыражениями", но это не совсем корректно), используя продублированные угловые скобки.

health=100
maxhealth=300
*pl "Ваше здоровье: <<health>>/<<maxhealth>>"

При этом, когда плеер начнёт выполнять команду *pl, он увидит, что в строке присутствуют вложенные выражения и постарается вычислить их значения. В данном случае он подставит вместо переменных их значения, и на экране мы увидим строку:

Ваше здоровье: 100/300

Есть ещё третья группа символов — фигурные скобки, и вот их поведение отличается от двух предыдущих.

  • В фигурных скобках нельзя оставлять открытыми апострофы или кавычки.
  • В момент выполнения команды, в которой есть фигурные скобки, в фигурных скобках не "раскрываются" вложенные выражения.