[Script] read.lines para strings longas |
![]() ![]() « Citoyen » 1505954820000
| 2 | ||
Olá, aproveitando que o Laagaadoo(Tenho que dar os créditos sou sincero, diferente de certas pessoas que não vou citar o nome) me deu uma luz de como funciona o string.gmatch e etc... eu decidi criar o read lines que em português significa ler linhas, ele lê apenas linhas de strings longas, para quem não sabe isto é uma string longa: Code Lua 1 2 3 4 5 6 7 string = [[ O read.lines retorna uma tabela então é bem simples de usa-lo vou mostrar: Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 string = [[ como visto é bem simples e pode ser útil se você quiser criar um sistema de configuração, que nem eu fiz neste script aqui: Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 config=[[ Torna o script mais fácil de ser editado, a nova versão 2.0 está disponível ela contém edit.line. V2.0 Olá, Squalleze me mostrou um pattern melhor então atualizei o script e já resolvi adicionar a função edit.line que no caso edita a linha desejada. P: Como funciona? R: Simplesmente deste jeito: Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 -- criamos uma string com valores já definidos Atualizações disponíveis na aba de script. V1.0 Normal: https://pastebin.com/raw/SGJPGsC9 Minificado(tudo em uma linha): https://pastebin.com/raw/DGfgXWHf V2.0 Normal: https://pastebin.com/raw/GqFHkvdg Minificado(tudo em uma linha): https://pastebin.com/raw/FRsZdf0y Dernière modification le 1506274020000 |
![]() ![]() « Citoyen » 1505977020000
| 1 | ||
muito util, me lembra algumas funções do C, mas parece q se vc tiver uma string q n termina com quebra de linha ele n retorna a ultima, acho q '[^\n]*' é mais facil e ele printa linhas vazias, '[^\n]+' tbm funfa mas só retorna linhas q n estejam vazias Dernière modification le 1505977860000 |
![]() ![]() « Citoyen » 1505997840000
| 0 | ||
Squalleze a dit : em breve vai ter para strings normais também que usam <br> e \n para quebra de linha, alias você anda sumido fdm faz tempo que não nos falamos no mice, você também não loga mais no skype. Dernière modification le 1505997960000 |
0 | ||
Bastante útil, principalmente pra sistemas auto-configurados. Gj |
![]() ![]() « Citoyen » 1506023700000
| 0 | ||
Muito útil! Dá pra fazer bastante coisa! |
![]() ![]() « Citoyen » 1506031020000
| 0 | ||
Squalleze a dit : Agora que eu testei, na verdade é muito melhor obrigado Squalleze vou atualizar a script agora.. OBS: A script foi editada novamente mas não houve mudança de versão foi apenas uma correção, agora é possível utilizar read.lines e edit.lines em string normal e string longa. (Para ter em string normal deve-se utilizar <br> ou \n como quebra de linha.) Dernière modification le 1506051000000 |
![]() ![]() « Censeur » 1506250980000
| 0 | ||
\n = quebra de linha easy python kkkk |
![]() ![]() « Citoyen » 1506274020000
| 0 | ||
Jellymichey a dit : ss kkkkk |
![]() ![]() « Citoyen » 1506298320000
| 0 | ||
acho mais fácil usar string.split |
![]() ![]() « Citoyen » 1506300600000
| 0 | ||
'U' antes não tava entendendo agora com a nova atualização eu tô Bem útil cons |
0 | ||
--message removed-- Dernière modification le 1506304260000 |
![]() ![]() « Citoyen » 1506379260000
| 0 | ||
Mescouleur a dit : mds, só não vou falar mais nada entre você e o bolo por que já tomei mute. Ah uma pergunta, como você vai usar string.split para dividir as linhas de uma string longa e editar... |
![]() ![]() « Citoyen » 1506380400000
| 0 | ||
Contistente3 a dit : ?? Só dei minha opinião sobre, ué... Não tenho nada contra sua pessoa. A parte de editar é fácil |
![]() ![]() « Citoyen » 1506390780000
| 0 | ||
Jellymichey a dit :
Dernière modification le 1506391080000 |
![]() ![]() « Sénateur » 1513791360000
| 0 | ||
Achei inútil. É basicamente um string.split de pattern "[^\n]+" e um gsub. Adicionar isso só deixaria o código mais pesado de forma ineficiente. |
![]() ![]() « Citoyen » 1513825440000
| 0 | ||
Bolodefchoco a dit : sim basicamente é inútil mas fiz um melhor renovado, agora a classe se chama line e tem as seguintes funções: line.read(string,line,callback,callback_arguments,line_to_number,line_callback) -- lê a linha e faz outras coisas... Argumentos: - string(string) : variável de longa string ou com quebra de linha - line(int/nil) : linha para ser retornada, caso o valor seja nulo é retornado uma tabela com todas as linhas. - callback(function) : função a ser chamada. - callback_arguments(table) : argumentos colocados em tabela para serem enviados a função, caso um argumento seja 'line:número da linha' será substituído pelo valor da linha colocada. - line_to_number(table) : linhas para serem transformadas em tipo número. - line_callback(table) : você cria uma tabela {line=linha, callback=function} e ele chama a callback na linha ex: tonumber(linha) é mais ou menos isso. string = line.edit(string,line,value) -- edita uma linha da string - string(string) : variável longa ou com quebra de linhas a ser editada. - line(int) : linha a ser editada. - value(string) : novo valor da linha. line.length(string) -- retorna o número de linhas de uma string - string(string) : variável longa ou com quebra de linhas a ser editada. Dernière modification le 1513826520000 |
![]() ![]() « Citoyen » 1513826280000
| 0 | ||
gostei :O |
![]() ![]() « Citoyen » 1513826580000
| 0 | ||
Eu acho + fácil de usar o read.lines do q o string.split Parabéns cons, ótimo trabalho |
![]() ![]() « Sénateur » 1513826820000
| 0 | ||
Ok, o length é usável |
0 | ||
Parabéns |