2015-08-14 51 views
1
function read_file(file) 
data = io.open(file, "r") 
for char in data:lines() do 
    if char == "print>" then 
     print(string.sub(char, 6)) 
    end 
end 
data:close() 
end 

function run() 
while true do 
    print("Open a file") 
    file = io.read() 
    print("") 
    read_file(file) 
    print("") 
end 
end 

run() 

代碼「如果焦炭==‘打印>’,然後打印(string.sub(字符,6))結束」會告訴我什麼,我試圖解決這個問題,即使我看着它,但沒有運氣,關於如何解決這個問題的任何想法?如何打印子字符串?

+1

'如果字符:子(1,6)== 「打印>」,然後打印(字符:子(7) )end' –

+0

謝謝!這種幫助 –

回答

2

您應該使用string.match和/或string.sub

下面所有的解決方案將工作:

if char:match "^print>" then print(char:sub(7)) end 

local d = char:match "^print>(.+)" 
if d then print(d) end