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

Valid XHTML 1.0!