IMacros: SyntaxError: отсутствует; до заявления - PullRequest
0 голосов
/ 20 февраля 2020

У меня проблема при изменении кода с IIM на JS Я сталкиваюсь с этим сообщением "SyntaxError: отсутствует; перед оператором, строка 5 (код ошибки: -991)"

работает оригинальный код прекрасно

SET !DATASOURCE Pack_01.txt
SET !DATASOURCE_LINE 1
SET !VAR1 EVAL("var s=\"{{!COL1}}\"; s.split(\"@\")[1];")
PROMPT ID:{{!VAR1}}

, но код js не работает для моего

var macro;
macro = "CODE:"; 
macro += "SET !DATASOURCE Pack_01.txt" + "\n";  
macro += "SET !DATASOURCE_LINE 1" + "\n";  
macro += "SET !VAR1 EVAL(\"var s=\\"{{!COL1}}\"; s.split(\"@\")[1];")" + "\n";  
macro += "PROMPT ID:{{!VAR1}}" + "\n";  
iimPlay(macro);

Можете ли вы помочь, пожалуйста !!

1 Ответ

0 голосов
/ 20 февраля 2020

Синтаксис неверен, потому что ваша строка содержит двойные кавычки. Вам нужно экранировать их, заменив «на \».

var macro;
macro = "CODE:";
macro += "SET !DATASOURCE Pack_01.txt" + "\n";
macro += "SET !DATASOURCE_LINE 1" + "\n";
macro += "SET !VAR1 EVAL(\"var s=\\\"{{!COL1}}\\\"; s.split(\\\"@\\\")[1];\")" + "\n";
macro += "PROMPT ID:{{!VAR1}}" + "\n";
iimPlay(macro);

Другой вариант - использовать литералы шаблона:

var macro = `CODE:SET !DATASOURCE Pack_01.txt
SET !DATASOURCE_LINE 1
SET !VAR1 EVAL("var s=\\"{{!COL1}}\\"; s.split(\\"@\\")[1];")
PROMPT ID:{{!VAR1}}
`;
iimPlay(macro);
...