Ruby. Conceitos básicos. Prof. Ms. Leonardo Botega. Diego Gabriel Pereira - PDF Download grátis
Download "Ruby. Conceitos básicos. Prof. Ms. Leonardo Botega. Diego Gabriel Pereira"
Agustina Lima Penha
1 Ruby Conceitos básicos Prof. Ms. Leonardo Botega Diego Gabriel Pereira
2 Quem somos nós Leonardo Botega Bacharel em Ciência da Computação UNIVEM Mestre em Ciência da Computação UFSCar Doutorando em Ciência da Computação UFSCar Docente dos cursos de Ciência da Computação e Sistemas de Informação do UNIVEM Diego Gabriel Pereira Discente de Sistemas de Informação - UNIVEM
3 O que é Ruby? História Características Tópicos Programando em Ruby Implementações do Interpretador Ruby Onde posso usar Ruby? Plataformas suportadas Mercado de trabalho Referências
4 O que é Ruby? Uma linguagem de programação: Interpretada; Open-Source; Multiparadigmática; Dinâmica.
5 O que é Ruby? Interpretada: Não é necessário compilar o código...
6 O que é Ruby? Open-Source: Você pode: Olhar o código; Estudar o código; Alterar o código; Melhorar o código!
7 O que é Ruby? Multiparadigmática: Orientada a objetos; Funcional; Permite programação imperativa.
8 O que é Ruby? Dinâmica: Adicionar novo código; Extender objetos; Extender classes; Alterar sistema de tipos.
9 História Criada no Japão por Yukihiro Matsumoto (Matz); Fevereiro/ idéias iniciais Versão 0.95 lançada no Japão em dezembro/1995. Versão 1.0 lançada oficialmente em dezembro/1996. Versão atual (stable) -Ruby 1.8.7
10 História Mas... Mais uma linguagem!?!? Pra quê? Matz queria uma linguagem de script... Mais poderosa que Perl; Mais orientada a objetos que Python; Que tivesse tudo o que ele sempre amou em Lisp, Eiffel e Smalltalk; Funcional como Lisp, Haskell e Scheme.
11 Desafio! Qual erro de compilação do código abaixo?
12 Solução
13 Solução! O Ruby não tem ponto e vírgula!
14 Características Expressividade Diga muito; Seja claro; Escreva menos código.
15 Características Imprimir somente pares entre 1 e um número qualquer: Linguagem C:
16 Java: Características
17 Ruby: Características
18 Características Em Ruby, tudo é um objeto:
19 Características Os métodos SEMPRE retornam algo, nem que seja nil. Em geral, o valor retornado é o resultado da última expressão do método.
20 Retornos múltiplos: Características
21 Classes Características
23 Metaprogramação Características
26 Características Tempo de Compilação x Tempo de Execução Em Ruby é tudo mesma coisa!
27 Programando em Ruby Instalando: Windows: One Click Installer ruby-lang.org O instalador possui: Interpretador; IDE (SciTE) GEM
28 Programando em Ruby Primeiro programa: puts Hello World! =)
29 Programando em Ruby Cálculos: puts #adição => 10 puts 5 2 #subtração => 3 puts 5 * 3 #multiplicação => 15 puts 5 / 3 #divisão de inteiro => 1 puts 7.0/3 #divisão de fração =>
30 Programando em Ruby Variáveis: x = 7 puts x => 7 puts x.class => Fixnum texto = um texto qualquer puts texto => um texto qualquer puts texto.class => String
31 Programando em Ruby Leitura e Escrita: puts "Informe o seu nome:" => Informe o seu nome nome = gets puts "O seu nome é: " + nome => O seu nome é Diego
32 Programando em Ruby Arrays: a = [10, 20, 30, 55] #array de inteiro puts a b = ["Ruby","é","d+"] #array de string puts b c = %w(eu amo ruby) #array de string puts c
33 Programando em Ruby Ordenação de arrays: a = [1, 3, 5, 4, 2] puts a => 1, 3, 5, 4, 2 puts a.sort => 1, 2, 3, 4, 5 b = a.sort puts b.reverse => 5, 4, 3, 2, 1
34 Programando em Ruby Métodos: def ola end puts Hello World ola => Hello World
35 Programando em Ruby Classes: class Aluno end attr_accessor :nome, :idade a = Aluno.new a.nome = Michel a.idade = 20 puts Nome: + a.nome => Nome: Michel puts Idade: + a.idade => TypeError: can't convert Fixnum into String puts idade: + a.idade.to_s => Idade: 18
36 Programando em Ruby Métodos de classe:
37 Programando em Ruby Variáveis de Instância e variáveis de classe: Instância: definidas Classe: definidas por
38 Programando em Ruby
39 Programando em Ruby Módulos: são similares a classes, mas não podem ser instanciados, e não podem herdar nem serem herdados, mas podem ser incluídos em classes. Ao ser incluído, instâncias da classe que o inclui são também do "tipo" do módulo incluído; Simulam a herança múltipla.
40 Programando em Ruby Módulos: module M end def faz_algo end class C end include M a = C.new puts a.is_a?(m) # >> true
41 Programando em Ruby Estruturas de Controle: Parecidas com a maioria das linguagens if.. [then] [elsif..[then]..] [else..] end # if tradicional unless.. [then] # negação do if (a menos que...) [else..] end
42 Programando em Ruby Estruturas de Controle: case.. # execução por casos [when.. [,..] [,..] [then]..] [else..] end while.. [do] # while tradicional (faça enquanto...).. end
43 Programando em Ruby Estruturas de Controle: until.. [do] # negação do while (até que...).. end for i in.. [do] # iteração por uma lista de objetos.. end
44 Programando em Ruby Estruturas de controle: if, unless, while e until podem ser usadas como modificadores, da seguinte forma: puts "oi!" if permissao==true puts i.to_s until i==0
45 Programando em Ruby Iteradores: Iteradores são métodos que executam um bloco de código que lhes seja passado. Blocos são delimitados por {...}, ou do... end ({} tem maior precedência), e podem receber argumentos, declarados entre.... diego.each_byte { c print c, }
46 Implementações do interpretador Ruby MRI -Matz Ruby Interpreter Jruby -Implementação em Java do interpretador Ruby Permite utilizar bibliotecas Java dentro do código Ruby Rubinius -Implementação em C++ e Ruby do interpretador Ruby IronRuby -Implementação em.net do interpretador Ruby
47 Onde posso usar o Ruby? Desktop; Web; Computação Científica; Bioinformática; Inteligência Artificial; Scripting; Testes Automatizados; Entre outros...
48 Plataformas Suportadas Mac OS X (all varieties) Linux (all varieties) MS-DOS BSDs (including FreeBSD and OpenBSD) Acorn RISC OS Microsoft Windows 95, 98, XP, and Vista (all varieties) OS/2 Amiga Celulares Symbian Series 60 Qualquer plataforma para a qual exista uma Máquina Virtual Java (Usando JRuby ao invés do interpretador Ruby oficial)
49 Mercado de Trabalho Ainda não é tão grande quanto o mercado de trabalho para Java,.NET, etc O maior uso do Ruby no Brasil e no mundo é através do framework Web Ruby on Rails. No Brasil, ainda cresce mais lentamente do que nos EUA e na Europa. O Brasil demora a aceitar novas tecnologias. Tem sido uma das linguagens mais utilizadas por start-ups de tecnologia
50 Referências Ruby on Rails (Rodrigo Urubatan) Editora Novatec; Linguagem de Programação Ruby (David Flanagan) Editora Alta Books/O Reilly; Ruby on Rails: Executando (Bruce A. Tate) Editora Alta Books/O Reilly.
51 Exercício - Crie uma classe Funcionários com os atributos registro e função ; - Dentro da classe Funcionários, crie pelo menos dois métodos; - Crie pelo menos dois módulos (Ex: Pessoa e Colaborador) para comprovar a herança múltipla da classe Funcionários.