使用ZitRo的字符串字符统计方案遇QUIT标签错误求修复
修复“Inconsistent use of QUITs within the tag”错误
你遇到的错误是因为在同一个代码标签中,QUIT(缩写q)语句的使用不一致:一处q不带返回值直接退出,另一处q countByChar带返回值返回结果,ObjectScript不允许这种混合用法。
修复步骤
把外层循环中退出循环的q替换为leave(leave用于退出当前循环,而非整个标签),修改后的代码如下:
n key,char,i s ary(1)="abcabc aba" s key ="" f{ s key=$Order(ary(key)) i key="" leave // 用leave退出外层循环,而非quit退出整个标签 f i=1:1:$L(ary(key)){ set char=$E(ary(key),i) set countByChar(char)=$get(countByChar(char))+1}} q countByChar
原理说明
quit(q):用于退出当前整个标签/例程,若在同一个标签中既有带返回值的quit又有不带的,就会触发“Inconsistent use of QUITs within the tag”错误。leave:仅退出当前所在的循环,不会影响后续代码执行,这样最后带返回值的q countByChar可以正常执行,避免了QUIT用法不一致的问题。
内容的提问来源于stack exchange,提问作者New27
相关产品推荐
相关产品推荐

