如何解决带有警告的编译全局变量
使用以下命令编译文件后:
compile_file("filename.mac");
我在文件名中得到一个警告。UNLISP:
警告:在翻译中遇到未定义的变量foo。
文档说要使用该功能:
define_variable (name,default_value,*mode*);
但是,如果在* mode *模式下,我写的不是“ any”,例如:
define_variable(foo,false,boolean)$
然后我在重新编译时收到错误消息:
#无法可读地打印。
是否可以声明一个变量,以便在没有此警告的情况下编译成功?使用mode_declare声明吗?
示例代码 filename.mac :
define_variable(foo,true,boolean)$ /* useless string */
foo: true$
exprp(that) := if foo = false and listp(that) and not emptyp(that) and member(that[1],["+","*"]) then(foo: true,true)$
matchdeclare(exprm,exprp)$
defrule(rule_1,exprm,subst(exprm[1],"[",exprm[2]))$
calc(list) := block([steps: []],while foo do(
steps: endcons(list,steps),foo: false,list: applyb1(list,rule_1)
),steps
)$
calc(["+",[["*",[1,2,3]],[3,4,6]]]]);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。