Podemos combinar funções anônimas e a simulação de struct em Lua para usar ponteiros 
                para função em structs. O assunto ponteiro em C pode ser visto em 
                Ponteiros em C.
            
            Sintaxe
            
[local] nome_variavel = {
  	membro1 = nome_funcao
}
            Exemplo 3
            
function funcao_qualquer(param)
  return param*2;
end
local var1 = {
  id=1,
  nome="Shinjuku",
  funcao = funcao_qualquer --ponteiro p/ função
}
print(var1.id,var1.nome,var1.funcao(2))
            Saída
            
4
            
                O uso de "struct" como parâmetro e retorno é feita da mesma forma como outros tipos de dados 
                já vistos.
            
            Sintaxe
            
[local] nome_funcao(parametro_struct)
    return nome_variavel_struct
end
            
            Exemplo 4
            
local var1 = {
  id=1,
  nome="Shinjuku",
}
function funcao1(param)
  print(param.id,param.nome)
end
function funcao2()
  local var1 = {  id=1,  nome="Shinjuku"}
  return var1
end
funcao1(var1)
retorno = funcao2()
print(retorno.id,retorno.nome)
            Saída
            
1	Shinjuku
1	Shinjuku