2015-08-14 49 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