diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index f1badb3e..3b4ee833 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -3438,6 +3438,9 @@ var ops = { 'blockId': 'core.getBlockId('+expression_0+','+expression_1+')', 'blockNum': 'core.getBlockNum('+expression_0+','+expression_1+')', 'blockCls': 'core.getBlockCls('+expression_0+','+expression_1+')', + 'startsWith': expression_0+'.startsWith('+expression_1+')', + 'endsWith': expression_0+'.endsWith('+expression_1+')', + 'includes': expression_0+'.includes('+expression_1+')', } if (ops[Arithmetic_List_0])code = ops[Arithmetic_List_0]; var orders = { @@ -3460,6 +3463,9 @@ var orders = { '^': Blockly.JavaScript.ORDER_BITWISE_XOR, 'min': Blockly.JavaScript.ORDER_MEMBER, //recieveOrder : ORDER_COMMA 'max': Blockly.JavaScript.ORDER_MEMBER, //recieveOrder : ORDER_COMMA + 'startsWith': Blockly.JavaScript.ORDER_MEMBER, //recieveOrder : ORDER_COMMA + 'endsWith': Blockly.JavaScript.ORDER_MEMBER, //recieveOrder : ORDER_COMMA + 'includes': Blockly.JavaScript.ORDER_MEMBER, //recieveOrder : ORDER_COMMA 'blockId': Blockly.JavaScript.ORDER_MEMBER, //recieveOrder : ORDER_COMMA 'blockNum': Blockly.JavaScript.ORDER_MEMBER, //recieveOrder : ORDER_COMMA 'blockCls': Blockly.JavaScript.ORDER_MEMBER, //recieveOrder : ORDER_COMMA @@ -3730,8 +3736,8 @@ ShopUse_List /*ShopUse_List ['money','exp']*/; Arithmetic_List - : '加'|'减'|'乘'|'除'|'取余'|'乘方'|'等于'|'不等于'|'大于'|'小于'|'大于等于'|'小于等于'|'且'|'或'|'异或'|'取较大'|'取较小'|'弱相等'|'弱不相等'|'图块id'|'图块数字'|'图块类型' - /*Arithmetic_List ['+','-','*','/','%','**','===','!==','>','<','>=','<=','&&','||','^','max','min','==','!=','blockId','blockNum','blockCls']*/; + : '加'|'减'|'乘'|'除'|'取余'|'乘方'|'等于'|'不等于'|'大于'|'小于'|'大于等于'|'小于等于'|'且'|'或'|'异或'|'取较大'|'取较小'|'弱相等'|'弱不相等'|'开始于'|'结束于'|'包含'|'图块id'|'图块数字'|'图块类型' + /*Arithmetic_List ['+','-','*','/','%','**','===','!==','>','<','>=','<=','&&','||','^','max','min','==','!=','startsWith','endsWith','includes','blockId','blockNum','blockCls']*/; AssignOperator_List : '设为'|'增加'|'减少'|'乘以'|'除以'|'乘方'|'除以并取商'|'除以并取余'|'设为不小于'|'设为不大于' diff --git a/libs/utils.js b/libs/utils.js index fddd0c6e..bc70f8bd 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -81,6 +81,11 @@ utils.prototype._init = function () { return this.indexOf(value) >= 0; } } + if (typeof String.prototype.includes != "function") { + String.prototype.includes = function (value) { + return this.indexOf(value) >= 0; + } + } if (typeof Object.values != "function") { Object.values = function (obj) { return Object.keys(obj).map(function (one) { return obj[one]; });