Nylon Tecnologia
Mudamos para um dominio proprio.

Acesse nosso novo forum.

http://crawlersnetwork.com/

[download] apostila completa de ruby

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[download] apostila completa de ruby

Mensagem por lobo alfa em Sex Ago 10, 2012 1:27 pm

Ruby é uma Linguagem de programação interpretada, com Tipagem Dinâmica e Tipagem Forte, orientada a objetos e, com várias semelhanças com Perl, Python e SmallTalk. Projetada tanto para a programação em grande escala quanto para codificação rápida, tem um suporte a orientação a objetos que tem o objetivo de ser simples e prático. A linguagem foi criada pelo japonês Yukihiro Matsumoto (Matz), que aproveitou o que considerou serem as melhores idéias das outras linguagens da época.

conteudo
Código:
1 Introdução
1.1 O que é Ruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Onde encontro Ruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Arrumando as coisas 11
2.1 Preparando sua fonte de consultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Preparando o ambiente de trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Conhecendo o básico da linguagem 13
3.1 Variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.1 Escopo das vari´aveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Tipos b´asicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.1 Blocos de c´odigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.2 N´umeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.3 Booleanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.4 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.5 Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.6 Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.7 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.8 Hashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.9 S´ımbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.10 Express˜oes regulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.11 Procs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.12 M´etodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Retornando valores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Recebendo parˆametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Como os parˆametros s˜ao enviados . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
M´etodos destrutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
M´etodos predicados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
M´etodos ou fun¸c˜oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.13 Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.14 Juntando tudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Estruturas de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.1 Condicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
unless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3.2 Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
until . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4 Coment´arios no c´odigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3
4 Classes 47
4.1 Vari´aveis de instˆancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Vari´aveis de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3 M´etodos de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4 Executando m´etodos da classe pai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.5 Redefinindo operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.6 Heran¸ca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.7 Duplicando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.8 Controle de acesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.8.1 M´etodos p´ublicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.8.2 M´etodos privados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.8.3 M´etodos protegidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.8.4 Especificando o tipo de acesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.9 Classes e m´etodos singleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5 Entrada e sa´ıda 73
5.1 Fluxos simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2 Fluxos mais complexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.1 Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Lendo arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Escrevendo em arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2.2 Fluxos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6 Exce¸c˜oes 81
6.1 Begin . . . rescue . . . ensure . . . end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2 Throw . . . catch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7 M´odulos 87
8 Threads 91
8.1 Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
8.2 Criando usando Proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
8.3 Sincroniza¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
8.4 Condition variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
9 Acessando banco de dados 99
9.1 Abrindo a conex˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.2 Executando queries que n˜ao retornam resultado . . . . . . . . . . . . . . . . . . . . . . . . 100
9.3 Recuperando dados do banco de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
9.4 Preparando comandos e usando parametros vari´aveis . . . . . . . . . . . . . . . . . . . . . 101
9.5 Metadados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.6 Trabalhando com blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
9.7 Output especializado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
9.7.1 Tabular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
9.7.2 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10 XML 109
10.1 Lendo arquivos XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
10.2 Criando arquivos XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
11 YAML 113
11.1 Lendo arquivos YAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
11.2 Gravando arquivos YAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4
12 XSLT 117
13 Usando Ruby na web 119
13.1 mod ruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
13.1.1 Instalando o mod ruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
13.1.2 Configurando o servidor Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
13.1.3 Testando o mod ruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
13.2 eruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
13.2.1 Instalando o eruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
13.2.2 Configurando o servidor Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
13.2.3 Testando o eruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
13.2.4 Sintaxe do eruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
13.3 CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
13.3.1 Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
13.3.2 Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
13.3.3 Sess˜oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
14 Interface Gr´afica 131
14.1 Obtendo e compilando o m´odulo GTK2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
14.2 Hello, GUI world! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
14.3 Eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
14.4 Packing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
14.5 Posicionamento usando tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
14.6 Mais alguns componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
14.6.1 CheckButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
14.6.2 ComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
14.6.3 Campos texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
14.6.4 Radio buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
15 Garbage collector 141
15.1 O algoritmo utilizado: mark-and-sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
15.2 Como funciona, na teoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
15.3 Como funciona, na pr´atica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
15.4 Otimizando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
16 Unit Testing 147
16.1 A classe a ser testada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
16.2 Unidade de testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
16.3 Falhas nos testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
16.4 Novas funcionalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
17 XML-RPC 155
17.1 Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
17.2 Cliente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
17.3 Acessando de outras linguagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
5

download aqui
avatar
lobo alfa
Membro

Mensagens : 15
Pontos : 3839
Reputação : 22
Data de inscrição : 09/08/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [download] apostila completa de ruby

Mensagem por Md. Morpheus em Seg Ago 13, 2012 1:45 am

Valeu, to estudando essas linguagens agora . . . caiu bem essas apostilas.


[Você precisa estar registrado e conectado para ver esta imagem.]
È meu fã ? Use !
[Você precisa estar registrado e conectado para ver esta imagem.]



Meus amigos:
Spoiler:
[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Md. Morpheus
Membro

Mensagens : 117
Pontos : 4130
Reputação : 10
Data de inscrição : 08/08/2012
Localização : Matrix

Ver perfil do usuário http://hacker.umforum.net

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum