[英]IMacros: SyntaxError: missing ; before statement
I have a problem when I change the code from IIM to JS I face this message "SyntaxError: missing ; before statement, line 5 (Error code: -991)"当我将代码从 IIM 更改为 JS 时遇到问题我遇到此消息“SyntaxError: missing ; before statement, line 5 (Error code: -991)”
original code is working perfectly原始代码运行良好
SET !DATASOURCE Pack_01.txt
SET !DATASOURCE_LINE 1
SET !VAR1 EVAL("var s=\"{{!COL1}}\"; s.split(\"@\")[1];")
PROMPT ID:{{!VAR1}}
but the js code is not working for my但是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);
can you help, please!!你能帮忙吗,拜托!!
The syntax is not correct because your string contains double quotes.语法不正确,因为您的字符串包含双引号。 You need to escape them, replacing " with \\".您需要对它们进行转义,将“替换为\\”。
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);
Another option is to use template literals:另一种选择是使用模板文字:
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.