Hola, tengo el siguiente script que lo que hacer (o intento que haga) es que listar todos las carpetas que se encuentran dentro de ms0:/MUSIC se que el código es un poco desastroso, pero lo empece a hacer hoy, cuando funcione entonces ya lo ordenaré mejor.
El error es el siguiente:
script.lua:21: attempt to get length of a nil value
Resumiendo al listar una carpeta que no tiene carpetas dentro se provoca un error
directorio = {} directorio[1] = "ms0:/MUSIC" TXT = io.open("Directs.txt","a") carpetas = {} x = 1 y = 1 num = 0 for i = 1, #files.listdirs(directorio[1]) do carpetas[i] = files.listdirs(directorio[i]) directorio[i+1] = carpetas[1][i].name end for i = 2, #files.listdirs(directorio[1]) do if #files.listdirs(directorio[i]) != nil then num = num + #files.listdirs(directorio[i]) end end for i = #carpetas+1, num do carpetas[i] = files.listdirs(directorio[i]) directorio[i+1] = carpetas[x][y].name y = y + 1 if #carpetas[x] == i then x = x + 1 y = 1 end end for i = 1, #directorio do TXT:write(directorio[i].."\n") if i == #directorio then io.flush(TXT) io.close(TXT) usb.on() os.message("Terminado") end end while true do screen.print(5,5,#directorio) screen.print(5,25,#carpetas) screen.flip() end
Espero que me podais ayudar.
Sígueme en Twitter: @Aitor_db
By Aitor
Tengo un nuevo fallo, ahora la PSP se queda pillada
Sígueme en Twitter: @Aitor_db
Mmm...
Si te devuelve nil es que no existe el directorio. Si el directorio está vacío te tiene que devolver una tabla vacia.
By Aitor
Gracias probare comprobando antes si la variable existe
Edito: solucionado