一段代码总是跳错 。求大神助。
lua吧
全部回复
仅看楼主
level 1
Kmust_S丶D 楼主
print"enter function to be plotted(with variable *x*):"
local L=io.read()
local f=assert(loadstring("local x= ...;return " .. L))
for i=1,20 do
print(string.rep("*",f(i)))
end
输入了各种a(x),Q(x)都会跳错。
错误是:
[string "local x= ...;return q(x)"]:(1): attempt to call global *q* (a nil value)
Stack Traceback:
ocal x= ...;return q(x):1: in function *f*
C:\Users\Administrator\Desktop\LuaStudio\llllllua\1.lua:32: in main chunk
请问是怎么回事 。。。
小白在线等。
2014年09月14日 01点09分 1
level 11
好高深,表示手头没电脑没翻过梁,帮顶
2014年09月14日 03点09分 2
level 11
下面是我猜的,很显然这次抛出错误前你输入的是q(x),而报错说q是一个nil,不会在这些代码之前没有函数q(x)的实现代码吧……
2014年09月14日 04点09分 3
level 1
没搞懂. 你想做啥 . 不过第一行 print"enter function to be plotted(with variable *x*):" 可以吗? 不用加个括号print()?
你搞好了 说一下. 学习一下
2014年09月14日 04点09分 4
当函数参数是string或者table时,函数后面那个括号可以省略
2014年09月14日 05点09分
回复 MC灵柩猎手 :3Q,
2014年09月14日 05点09分
level 11
我应该没猜错,前面随便定义个q(x)就能用了
2014年09月14日 06点09分 5
level 11
或者直接这样也可以,输入一个x的表达式,和前面的 "local x= ...;return " .. L 一同构成一个函数
2014年09月14日 06点09分 6
我的输出 怎么和你的不一样?
2014年09月14日 07点09分
level 1
输入 3
输出 是
***
***
***
...
***
他那个 x 就没用到吧.
2014年09月14日 07点09分 7
正解
2014年09月14日 07点09分
1