2016-03-29 20 views
0

Bir dosyada okuyan ve bir tuşa ayarlayan ve başka bir dosyada okuyan ve bu dosyaya dayalı bilgileri görüntüleyen kodumun ana konseptini çözdüm. Çıkışın önüne hat 1, satır 2, satır 3 vb. Nasıl ekleyebilirim? Her yeni satırın üstünde ve altında ------------ ekleyin.Bazı teknik özelliklerin çıkışı nasıl yapılır

-- see if the file exists 
function file_exists(file) 
    local f = io.open("data.txt", "rb") 
    if f then f:close() end 
    return f ~= nil 
end 

-- get all lines from a file, returns an empty 
-- list/table if the file does not exist 
function lines_from(file) 
    if not file_exists(file) then return {} end 
    lines = {} 
    for line in io.lines("data.txt") do 
    first_word = string.match(line, "%a+") -- word 
    lines[first_word] = line 
    lines[#lines + 1] = lin 
    end 
    return lines 

end 

local lines = lines_from(file) 

function key_file(file) 
    if not file_exists(file) then return {} end 
    keys = {} 
    for line in io.lines("keys.txt") do 
     key = string.match(line, "%a+") 
     table.insert(keys, key) 
    end 
    return keys 
end 

local lines = lines_from("data.txt") 
local keys = key_file("keys.txt") 

for _, key in ipairs(keys) do 
    print(lines[key]) 

end 
+0

için Lua referans belgelerine bakın, çıktı beklediğiniz ve karşılaştığınız sorunları. – Jakuje

+1

@CorDell dude, çıkışınızın biçimlendirmesini nasıl geliştireceğinizi öğrenmek için kodunuzu tek bir kez çalıştırır mısınız? Yanılmıyorsam, kodun hiçbir şey çıkmayacak. Kodunuzda birkaç hata veya işe yaramaz çizgiler var – Piglet

cevap

0

Kodunuz çalışmadığı için bunu daha genel bir şekilde yanıtlayacağım.

Çizgileri yazdırmak için for döngüsüne yazdırma komutları ekleyebilirsiniz. Ya da metni bir şekilde değiştirirsin. Çok sahip olduğunuz bazı giriş ekleyin tavsiye dize manipülasyon ve concat operatörü ..

local numLine = 0 
for _, key in pairs(keys) do 
    numLine = numLine + 1 
    print("Line " .. numLine .. ": " .. lines[key]) 
    print("----------") 

end