Комментарии и интерполированные строки

Здравствуйте! Наблюдение:

begin

  {
  var (a,b) := ReadInteger2('Введите а и b: ');
  PrintLn($'{a} * {b} = {a*b}');
  }

  {
  Write(a,' * ', b, ' = ', 'a*b' );
  }

end.

Выпадает в ошибку синтаксиса в строке

PrintLn($’{a} * {b} = {a*b}’)

Почему? А с оператором Write “по-старинке” - все надежно.

Вы о чем?

Если о том, что компилятор не понимает, как обрабатывать фигурные скобки, когда они внутри комментария - так это известное дело. Вы открыли фигурную комментарием - он находит ближайшую фигурную закрывающую. И удивляется следующему за ней коду.

Чтоб не пересекаться с {} внутри $'' - можно использовать (* *).

И лучше писать $'{a} * {b} = {a*b}'.Println - так надо меньше скобок.

А код на этом форуме выделяется так:

```
много
строчный код
```

и

`одно-строчный код`

В случае многострочного кода - на строчках с ``` нельзя больше ничего ставить.