「;」"\n"과 "\n"이 없으면 처리가 달라진다는 것을 나는 실감했다
9078 단어 BlocklyJavaScript
이 문장이 해결할 수 있는 오류
SyntaxError: Unexpected identifier
JavaScript라면 드문 오류인 것 같습니다.사용Blockly 시 이 오류가 발생하면 이 글은 참고가 될 수 있습니다.절차
블록 생성 파일
Blockly를 사용하여 로고와 같은 시각적 언어를 만듭니다.
블록 정의는 다음과 같습니다.
turtleBlock.js
Blockly.Blocks['turtleforward'] = {
init: function() {
this.appendDummyInput()
.appendField("前に")
.appendField(new Blockly.FieldNumber(0, -10, 10), "step")
.appendField("進む");
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setColour(60);
this.setTooltip("");
this.setHelpUrl("");
}
};
실행되는 동작이 이런 느낌이에요.turtleBlock.js
Blockly.JavaScript['turtleforward'] = function(block) {
var number_step = block.getFieldValue('step');
var fowardCode = `TurtleForward(${number_step})`;
return fowardCode;
};
TurtleForward()
forwardCode
배송실행할 파일
return
로부터 값을 수락하고 실행합니다.turtleCommand.js
TurtleForward = (value) => {
console.log('実行された'+value);
var code = 'TurtleForward(turtle,'+value+')';
ggbApplet.evalCommand(code);
}
실제 행위
하면, 만약, 만약...
이미지 같은 행동을 확인합니다.
하지만, 블록 연결이 실행될 때
위의 오류가 발생했습니다.
해결 방법
블록을 정의할 때
turtleBlock.js
및 ;
을 추가하지 않았기 때문에 제목에도 있습니다.블록에서 만든 코드를 표시하려면TurtleForward(1)TurtleForward(1)
정의된 것을 식별할 수 없습니다\n
. 오류가 발생할 수 있습니다.turtleBlock.js
Blockly.JavaScript['turtleforward'] = function(block) {
var number_step = block.getFieldValue('step');
console.log(number_step+'進む');
var fowardCode = `TurtleForward(${number_step})\n`; //変更点
return fowardCode;
};
혹은turtleBlock.js
Blockly.JavaScript['turtleforward'] = function(block) {
var number_step = block.getFieldValue('step');
console.log(number_step+'進む');
var fowardCode = `TurtleForward(${number_step});`; //変更点
return fowardCode;
};
에서 기술한 장면은 다음과 같은 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 부피를 분석하도록 한다.;
Reference
이 문제에 관하여(「;」"\n"과 "\n"이 없으면 처리가 달라진다는 것을 나는 실감했다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Hyperbolic_____/items/27b00fc07a546291068e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)