2012-02-04 4 views
1

Je suis confus par cette erreur. J'écris un script lua pour mocp pour afficher des infos dans conky. Lorsque je lis des fichiers musicaux dans "/ media/Stuff/old-music", tout fonctionne correctement mais une erreur se produit lorsque je lis des fichiers musicaux dans "/ home/tony/Music". Aucun des répertoires n'est codé en dur dans mon script. L'erreur indique qu'une variable est renvoyée comme nulle. Je vérifie et le fichier de musique a l'information requise. Pourquoi ai-je cette erreur?Retour de variable comme nul

erreur ..

Conky: llua_do_call: fonction d'exécution de conky_main a échoué: /home/tony/.conky/lua-test/albumart.lua:68: tentative de concaténer 'album' global (une valeur nulle)

code

...

.... 
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 

Répondre

1

le code que vous avez écrit semble sans rapport avec le code d'erreur réelle. Le code d'erreur décrit spécifiquement ce problème:

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

Cela signifie que vous essayez de concaténer la variable album en utilisant l'opérateur concaténer .., et sa valeur se trouve être nulle.

Le code que vous avez écrit suggère que cela ne devrait pas être le cas (même si vous voulez essayer toutes les variables de la fonction local). Veuillez jeter un coup d'oeil à la ligne 68 de votre dossier pour trouver le problème.

+0

Mais pourquoi ça marche bien avec un répertoire et pas l'autre? –

+0

Que retourne «mocp -Q% album» dans le répertoire «ne fonctionne pas»? –

+0

Un ami l'a compris pour moi. J'ai eu un trop de retours dans le reste du code. Erreur de débutant. :/ Merci pour l'aide. –

Questions connexes