33 lines
		
	
	
		
			563 B
		
	
	
	
		
			Lua
		
	
			
		
		
	
	
			33 lines
		
	
	
		
			563 B
		
	
	
	
		
			Lua
		
	
local protobuf = require "protobuf"
 | 
						|
 | 
						|
addr = io.open("../../build/addressbook.pb","rb")
 | 
						|
buffer = addr:read "*a"
 | 
						|
addr:close()
 | 
						|
protobuf.register(buffer)
 | 
						|
 | 
						|
local person = {
 | 
						|
	name = "Alice",
 | 
						|
	id = 123,
 | 
						|
	phone = {
 | 
						|
		{ number = "123456789" , type = "MOBILE" },
 | 
						|
		{ number = "87654321" , type = "HOME" },
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
local buffer = protobuf.encode("tutorial.Person", person)
 | 
						|
 | 
						|
local t = protobuf.decode("tutorial.Person", buffer)
 | 
						|
 | 
						|
for k,v in pairs(t) do
 | 
						|
	if type(k) == "string" then
 | 
						|
		print(k,v)
 | 
						|
	end
 | 
						|
end
 | 
						|
 | 
						|
print(t.phone[2].type)
 | 
						|
 | 
						|
for k,v in pairs(t.phone[1]) do
 | 
						|
	print(k,v)
 | 
						|
end
 | 
						|
 |