Module util
Módulo de funções de uso geral v1.3.3
Author:
| Manoel Campos da Silva Filho http://manoelcampos.com |
Functions
| breakString (text, maxLineSize, Text) | Quebra uma string para que a mesma tenha linhas com um comprimento máximo definido, não quebrando a mesma no meio das palavras. |
| cloneTable (tb) | Clona uma tabela |
| coroutineCreate (f, ...) | Cria uma co-rotina para execução de uma determinada função. |
| createFile (content, fileName, binaryFile) | Cria um arquivo com o conteúdo informado em text. |
| fileExists (fileName) | Verifica se um arquivo existe |
| hasSingleElement (tb) | Verifica se uma tabela contém apenas um elemento |
| paintBreakedString (areaWidth, x, initialY, text) | Imprime um texto na tela, quebrando o mesmo nos limites horizontais da área do canvas. |
| paintText (x, y, text, fontName, fontSize, fontColor) | Desenha um texto na tela |
| printable (tb, level) | Imprime uma tabela, de forma recursiva |
| simplifyTable (tb) | Percorre uma tabela recursivamente. |
| urlEncode (t) | Função para converter uma tabela para o formato URL-Encode, também chamado de Percent Encode, segundo RFC 3986. |
Functions
- breakString (text, maxLineSize, Text)
-
Quebra uma string para que a mesma tenha linhas com um comprimento máximo definido, não quebrando a mesma no meio das palavras.
Parameters
- text:
- maxLineSize: Quantidade máxima de caracteres por linha
- Text: String a ser quebrada
Return value:
Retorna uma tabela onde cada item é uma linha da string quebrada. - cloneTable (tb)
-
Clona uma tabela
Parameters
- tb: Tabela ser clonada
Return value:
Retorna a nova tabela - coroutineCreate (f, ...)
-
Cria uma co-rotina para execução de uma determinada função.
Parameters
- f: Função body a ser executada pela co-rotina
- ...: Parâmetros adicionais que serão passados à função body da co-rotina, passada no parâmetro f.
- createFile (content, fileName, binaryFile)
-
Cria um arquivo com o conteúdo informado em text. Devido a função utilizar o módulo io, não disponível no Ginga, a mesma deve ser utilizada apenas para depuração, em ambientes de teste. Se o arquivo já existir, substitui.
Parameters
- content: Conteúdo a ser adicionado no arquivo
- fileName: Nome do arquivo a ser gerado.
- binaryFile:
Return value:
Retorna true caso o arquivo seja salvo com sucesso. - fileExists (fileName)
-
Verifica se um arquivo existe
Parameters
- fileName: Nome do arquivo a ser verificado
Return value:
Retorna true se o arquivo existir [[ - hasSingleElement (tb)
-
Verifica se uma tabela contém apenas um elemento
Parameters
- tb: Tabela ser verificada
Return value:
Retorna true caso a tabela contenha apenas um elemento. - paintBreakedString (areaWidth, x, initialY, text)
-
Imprime um texto na tela, quebrando o mesmo nos limites horizontais da área do canvas.
Parameters
- areaWidth: Largura a área disponível para impressão
- x:
- initialY: Posição y inicial a ser impresso o texto
- text: Texto a ser impresso, sendo quebrado em linhas para caber horizontalmente na largura definida para impressão
- paintText (x, y, text, fontName, fontSize, fontColor)
-
Desenha um texto na tela
Parameters
- x: Posição horizontal a ser impresso o texto
- y: Posição vertical a ser impresso o texto
- text: texto a ser desenhado
- fontName: Nome da fonte a ser utilizada para imprimir o texto. Opcional
- fontSize: Tamanho da fonte. Opcional
- fontColor: Cor da fonte. Opcional
- printable (tb, level)
-
Imprime uma tabela, de forma recursiva
Parameters
- tb: A tabela a ser impressa
- level: Apenas usado internamente para imprimir espaços para representar os níveis dentro da tabela.
- simplifyTable (tb)
-
Percorre uma tabela recursivamente. Se ela contém apenas um elemento, a tabela a qual ele pertence (a externa) é eliminada, ficando apenas a tabela interna, passando esta a ser a tabela principal. Repete isto até chegar no item mais interno da tabela. Assim, uma tabela como nivel1 = { nivel2 = nivel3 = {desc = "mouse", valor = 99}} se transforma em {desc="mouse", valor = 99} Outra tabela como nivel1 = { nivel2 = nivel3 = {pais = "Brasil"}} se transforma em pais = "Brasil", sem nenhuma tabela.
Parameters
- tb: Table lua gerada a partir de código XML
Return value:
Retorna a nova tabela simplificada. Se dentro de toda a estrutura da tabela original só existia um campo com valor, tal valor é retornado como uma variável simples. - urlEncode (t)
-
Função para converter uma tabela para o formato URL-Encode, também chamado de Percent Encode, segundo RFC 3986. Fonte: http://www.lua.org/pil/20.3.html. Gerada a partir das funções escape e encode, gerando uma só.
Parameters
- t: Tabela contendo os pares param=value que representam os parâmetros a serem codificados para o formato URL-Encode, ou String contendo o texto a ser codificado.
Return value:
Retorna uma string codificada em URL-Encode