====== Problemas com Luadoc ====== ===== TerraME.lua ===== Temos o TerraME.lua em um unico arquivo. Desta forma, o luadoc acaba colocando tudo em uma unica pagina. nao achei jeito de fazer ele colocar em paginas diferentes a nao ser separando cada "tipo" em um arquivo diferente, ou seja, precisamos ter um CellularSpace.lua, um Agent.lua, etc., se quisermos usar esta forma de documentacao. ===== Construtores ===== Os "construtores" dos tipos recebem como argumento uma tabela, por isto usamos os {} para separar os argumentos. Desta forma, a assinatura das funções é do tipo CellularSpace (attrTab) e não CellularSpace (database, user, host, ...) Para documentar, eu posso adicionar parametros que "nao existem" na definição da função, mas nao posso retirar os que ja existem (no caso, attrTab). Desta forma, um código documentado assim: \--- Creates a CellularSpace -- @class function -- @param database The database name. -- @param user The username. -- @param password The password. -- @return An object of type CellularSpace. function CellularSpace( attrTab ) ... gera uma documentacao assim: {{geopro:pedro:estagio-probatorio:luadoc-cellularspace.jpg|}} podemos fazer um script para remover este attrtab e colocar o CellularSpace recebendo os argumentos entre chaves, alterando o html diretamente. Mas isto ficaria muito porco. ===== Funções das classes ===== As funções internas das classes, como o getNeighborhood tambem recebem um parametro a mais, no caso o self. Mas ai acho que o usuario de lua tem que saber que os ":" evita o uso deste argumento. ===== Passos para Documentação TerraME.lua ===== - Documentar onde estão e como alterar os templates de formatação do HTML gerado pelo LuaDoc. - Estudar o luaQT para ver se foi feita alguma alteração ou algo diferente do que está implementado no LuaDoc. - Adicionar tipo "invisible" ao LuaDoc, para apontar objetos que não serão documentados. - Adicionar novo tipo "constructor" ao LuaDoc, que tem uma tabela como único argumento. Os elementos desta lista serão descritos como parâmetros da função. Procurar por tabela.x dentro da função para apontar os seus elementos. - Adicionar campo "example" para a documentação. - Pegar documentação pronta do "Relatório 2" e colocar no código Lua. - Separar o TerraME.lua em vários arquivos para a documentação separada.