Eclesiastes

Ícone

Sobre o que é este blog? O.o

Extending PHP – PDF antigo (2003) de Wez Furlong

Procurando por esse tema, encontrei esse PDF antigo do Wez Furlong. Então traduzi com ajuda do garotosopa! Que sempre me ajuda com minhas dúvidas em inglês (que são muitas, rs). :D

Alguns comentários no código não estão traduzidos, mas a idéia principal é ver a estrutura da extensão, e não o que ela faz, pois é apenas um exemplo.

Veja aqui: http://docs.google.com/Doc?id=ddvr877h_8cg5x9k 

E pelo que vejo, não há material sobre isso na nossa linguagem. Até comecei com ajuda de vários, a tradução do livro da Sara Golemon, mas está parada… (São 20 capítulos)

E pra piorar, o livro dela só é encontrado no exterior. Que atualmente no Amazon está por $32.

Até a pŕoxima. :)

Anúncios

Arquivado em:PHP

Permutações

Para quem precisar fazer permutações de caracteres, eis o código:

#include <stdio.h>
#include <string.h>

static unsigned int size  =  0;

void permute(char *word, const unsigned int offset) {
	unsigned register int i;
	char t;
	
	if (offset == (size - 1)) {
		for (i = 0; i &lt; size; i++) {
			printf("%c", *(word + i));
		}
		printf("\\n");
		return;
	}	
	t = *(word + offset);
	for (i = offset; i &lt; size; i++) {
		*(word + offset) = *(word + i);
		*(word + i) = t;
		permute(word, offset + 1);
		*(word + i) = *(word + offset);
	}
	*(word + offset) = t;
}

int main(int argc, char **argv) {
	char *word;
	
	if (argc &lt; 2) return 0;
	if ((word = strdup(*(argv + 1))) == NULL) return 0;
	size = strlen(word);
	printf("Permutando \\"%s\\":\\n", *(argv + 1));
	permute(word, 0);
	return 0;
}

Arquivado em:Programação

Casando comentários multilinhas

A seguinte ER serve para casar comentários /** **/.

/\/\*\*((?:(?!\*\*\/).)++)\*\*\//s

Arquivado em:Regex

Analisando um comando INSERT com Regex no Perl

Criei a seguinte expressão regular para resgatar os campos e respectivos valores numa query INSERT.

http://ecl.zoone.com.br/etc/er_insert.txt 

Fiz essa ER para solcionar um caso no grupo, talvez seja útil para alguém.

Arquivado em:Perl, Regex

Bíblia no terminal!

Para quem deseja ter acesso a Bíblia em português no terminal, agora é possível!

http://www.phpavancado.net/node/429

Arquivado em:C/C++, Programação

Desafios de programação

Para quem gosta de exercitar a criação de algoritmos, e o melhor, programando em sua linguagem preferida, gostará de conhecer o site http://www.spoj.pl ! Há inclusive competições entre brasileiros…

Arquivado em:Programação

MySQL visual explain

Mais uma novidade de Baron “Xaprb” Schwartz! Que desenvolve utilitários em Perl e publica estudos sobre MySQL! Dessa vez criou um utilitário que formata a saida do comando EXPLAIN, facilita bastante a visualização!

http://www.xaprb.com/blog/2007/07/29/introducing-mysql-visual-explain/

Arquivado em:MySQL, Perl

Identificando número primo com Regex

O inventor parece ser Abigail, descobri na comunidade PerlMonks.

A ER é a seguinte: /^1?$|^(11+?)\1+$/

Para verificar se determinado número é primo, você tenta combinar o número que deseja em quantidade de 1.
Ou seja, se quero ver se 11 é primo, tento casar: 11111111111

Veja o teste:

re> /^1?$|^(11+?)\1+$/
data> 11111111111

No match

Quando não combina, quer dizer que ele é primo!

A explicação do padrão você encontra aqui!

Eu fiz o teste acima com pcretest, mas você pode usar a seguinte linha usando Perl:

perl -wle 'print "Prime" if (1 x shift) !~ /^1?$|^(11+?)\1+$/' [number]

Arquivado em:Perl, Regex

Categorias

del.icio.us