百思不得其解???
function on.paint(gc)var.store("start_fwj",start_r)
var.store("start_r",start_r)
var.store("end_r",end_r)
var.store("hqx_l",hqx_l)
var.store("xyd_l",xyd_l)
var.store("l",l)
local zl_x
zl_x=math.eval("nint(cos(pi*start_fwj/180+l/start_r+(start_r-end_r)*l*l/(2*start_r*end_r*hqx_l),l,0,xyd_l)")
gc:drawString("坐标N:"..zl_x,50,120)
end
错误提示:attempt to concatenate local 'zl_x' (a nil value)
哪里出问题了自己都快整{:drool:}请教大神帮忙!!!!!!!! function on.paint(gc)
start_fwj=36.8596
start_r=100
end_r=300
hqx_l=80
xyd_l=60
var.store("start_fwj",start_r)
var.store("start_r",start_r)
var.store("end_r",end_r)
var.store("hqx_l",hqx_l)
var.store("xyd_l",xyd_l)
var.store("l",l)
local zl_x
zl_x=math.eval("nint(cos(pi*start_fwj/180+l/start_r+(start_r-end_r)*l*l/(2*start_r*end_r*hqx_l),l,0,xyd_l)")
gc:drawString("坐标N:"..zl_x,50,120)
gc:drawString("坐标E:",180,120)
gc:drawString("方位角: ",50,160)
gc:drawString("角度显示:",50,200)
end
问题依旧 var.store("zl_x",math.eval("nint(cos(pi*start_fwj/180+l/start_r+(start_r-end_r)*l*l/(2*start_r*end_r*hqx_l),l,0,xyd_l)"))
(我不懂,只是猜测) 呵呵 没有通过编译 本帖最后由 wtof1996 于 2013-5-1 12:29 编辑
表达式有问题吧
局部稍微修改一下:
local zl_x, err;
zl_x, err =math.eval("nint(cos(pi*start_fwj/180+l/start_r+(start_r-end_r)*l*l/(2*start_r*end_r*hqx_l),l,0,xyd_l)");
print(err);
输出err为940,表明存在错误,当然第一个返回值就是nil了。后面根本没有检查是否计算成功就直接使用当然会挂了。
查《参考指南》得知,940代表的错误是“自变量过多。表达式或方程包含过多自变量且无法计算。” 编译无法通过再正常不过,我的有些程序就调试过接近100次 {:028:} nint()为TI计算器的内部库函数积分公式 表达式的建立所用的变量应该是LUA 还是计算器内部的?
页:
[1]