变量返回为零

时间:2012-02-04 16:20:31

标签: variables lua return null

我对此错误感到困惑。我正在为mocp编写一个lua脚本来显示conky中的信息。当我在“/ media / Stuff / old-music”中播放音乐文件时,一切正常但我在“/ home / tony / Music”中播放音乐文件时出错。我的脚本中没有任何目录是硬编码的。该错误表示变量返回为nil。我检查并且音乐文件包含所需信息。为什么我会收到此错误?

误差..

Conky:llua_do_call:函数conky_main执行失败:/home/tony/.conky/lua-test/albumart.lua:68:尝试连接全局'专辑'(零值)

...代码

....
totaltime,totaltimesecs,song,artist,album,albumart=newsong(update_num)
....
function newsong()
    local f = io.popen("mocp -Q %album")
    album= f:read("*a")
    f:close()
    album=string.gsub(album,"[\n]","")
    local f = io.popen("mocp -Q %artist")
    artist= f:read("*a")
    f:close()
    artist=string.gsub(artist,"[\n]","")
    local f = io.popen("mocp -Q %song")
    song= f:read("*a")
    f:close()
    song=string.gsub(song,"[\n]","")
    local f = io.popen("mocp -Q %tt")
    totaltime= f:read("*a")
    f:close()
    totaltime=string.gsub(totaltime,"[\n]","")
    local f = io.popen("mocp -Q %ts")
    totaltimesecs= f:read("*a")
    f:close()
    totaltime=string.gsub(totaltime,"[\n]","")
return totaltime,totaltimesecs,song,artist,album,albumart

1 个答案:

答案 0 :(得分:1)

您编写的代码似乎与实际的错误代码无关。错误代码专门描述了此问题:

.../albumart.lua:68: attempt to concatenate global 'album' (a nil value)

这意味着您尝试使用连接运算符album连接..变量,并且它的值恰好为nil。

您编写的代码表明情况并非如此(即使您可能想尝试在函数local中创建所有变量)。请查看文件中的第68行以查找问题。