eguatech / egua

Linguagem de programação em português, simples e moderna
https://egua.dev/idegua/
MIT License
817 stars 40 forks source link

Biblioteca para manipulação de textos. #165

Closed Andre0n closed 1 year ago

Andre0n commented 1 year ago

Seria bom uma biblioteca paara manipulação de textos. Basicamente, ela deve possuir algumas constantes e funções úteis para manipular textos.

Pensei em algo como:

var textos = importar("textos"); // Biblioteca

var meu_texto = "Programação simples e moderna em português";
escreva(textos.paraMaiusculo(meu_texto)); // PROGRAMAÇÃO SIMPLES E MODERNA EM PORTUGUÊS
escreva(textos.paraMinusculo(meu_texto)); // programação simples e moderna em português
escreva(textos.contem(meu_texto, "simples")); // verdadeiro

// Algumas constantes úteis
escreva(textos.letras_minusculas); // abcdefghijklmnopqrstuvwxyz
escreva(textos.letras_maiusculas); // ABCDEFGHIJKLMNOPQRSTUVWXYZ
escreva(textos.letras); // abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
escreva(textos.digitos); // 0123456789
escreva(textos.pontuacoes); // !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

Também uma função para obter um texto formatado, basicamente substituir os {} pelos argumentos na ordem em que foram passados:

var meu_texto = "{} {} {} {} {}";
var resultado = textos.formate(meu_texto, 1, 2.5, verdadeiro, falso, "egua" );
escreva(resultado); // 1 2.5 verdadeiro falso egua

Estou trabalhando nisso ainda, queria um feedback de funções que podem ser adicionadas, nomes e coisas do tipo.

lucaspompeun commented 1 year ago

@Andre0n ficaria sensacional. Vale a pena a gente manter o padrão snake case pro nome dos métodos e os métodos de texto ao invés de ter o "para", deixa apenas o nome, como "maiúsculo", "minúsculo" e etc.

Andre0n commented 1 year ago

Beleza, eu já implementei as funções acima falta só renomear para sanake case. Quero adicionar alguns outros, tipo um para quebrar o texto num padrão fornecido e outro para substituir subtextos. Enfim, tô dando uma olhada no consigo ir fazendo.