Использование строк внутри кода расширений mBlock

Следующий вопрос касается сторонней среды программирования Arduino mBlock и создания для нее расширений. Я надеюсь, что среди вас есть те, кто с этим знаком.

Недавно я делал расширение для mBlock, которое можно использовать для написания кода для Arduino, когда столкнулся с этим препятствием. Я попытался написать функцию внутри оператора "work":"".

Это выглядело так:

"work":"Serial.print("Привет, мир");"

Не удалось импортировать расширения из-за кавычек вокруг строки Hello world. Я попробовал удалить кавычки, расширение успешно добавлено, но программа не заработала, поскольку кавычки необходимы внутри кода C++ для определения строки.

Есть ли способ добавить их в расширения, не испортив код?

, 👍0


1 ответ


Лучший ответ:

1

Если это формат JSON, вы можете попробовать использовать одинарные кавычки вместо двойных:

"work":'Serial.print("Hello world");'

В качестве альтернативы вы можете избежать внутренних кавычек:

"work":"Serial.print(\"Hello world\");"
,

Ни одно из упомянутых решений, похоже, не работает. Расширения по-прежнему не загружаются. Расширение, которое я пишу, имеет расширение .s2e, если это поможет (я не совсем знаком с файлами такого типа)., @user29519

Глядя на существующие библиотеки, экранирование должно работать. Это из файла Serial.s2e: "work":"Serial.print({0});Serial.print(\"=\");Serial.println({1});\n", @Majenko

По какой-то причине на этот раз это сработало. Я не знаю почему, но давайте просто продолжим. Спасибо., @user29519