Upload
duda-dornelles
View
1.386
Download
0
Embed Size (px)
Citation preview
Minicurso de RubyMinicurso de RubyXIV SACOMPXIV SACOMP
Robson DornellesRobson DornellesGustavo GrañaGustavo Graña
Introdução
✔ Características:− Interpretada – irb− Puramente orientada a objetos− Herança única:
● Módulos – 'mixins'− Tipagem dinâmica− Garbage collector− Threads nativas− Tratamento de exceções− Sintaxe elegante
Introdução
✔ Biblioteca padrão:− Inteiros 'infinitos' (Fixnum e Bignum)− Expressões regulares− Iteradores− Arrays− Hashes− Blocos de código− Protocolos da Internet− Conexão com banco de dados− Etc, etc, etc, etc, etc, etc...
IRB
✔ IRB:− Interpretador (como python)
Variáveis
✔ Variaveis:− Não possuem tipo fixo – tipagem dinâmica− Não necessitam de declaração− Referência
Variáveis
✔ Escopo:− variavel_comum = 10− $var_global = 10− @atributo_de_classe = 10− @@atributo_estático_de_classe = 10
✔ Conversões:− to_s, to_i, to_f, to_a
✔ Variaveis simples → var = “abc” (referência mutável)✔ Constante → Pi = 3,1415... (imutável)✔ Símbolo → :simb
Classes Numéricas
✔ Classes Numéricas:− Float, Fixnum e Bignum− Coerção entre os tipos− Representação com precisão 'infinita'− Caso um Fixnum de overflow, conversão é automática
− Valores imediatos● 'Embarcados' na referência → + desempenho
Strings
✔ String:− Alguns métodos:
● reverse, chomp, upcase, upcase!, split, slice, size, +, *
− Mais métodos:● String.methods● Onde conhecer e testar os métodos → IRB
Expressões Regulares
Estruturas de controle
✔ If-then-else:
✔ While:
Arrays, Ranges e Iteradores
Hashes
Funções
✔ Criar arquivo com extensão .rb
✔ $ ruby 'arquivo'.rb lalala lululu✔ Exercício! criar programa que receba um nome e conte o numero de letras deste nome (cuidado para não contar os espaços)
Blocks
Entrada e Saída
✔ Entrada/Saída padrão
Arquivos
Arquivos
✔ Outros métodos:− rewind− readlines− File.methods.sort
✔ Exercicio! criar programa que o nome de um arquivo entrada.txt e crie um novo arquivo com as linhas do arquivo orinigal invertidas. O nome do novo arquivo deve ser {nome do arquivo original)_invertido.txt✔ Dica:
− a = “123”− b = “#{a}456”− ou b = a + “456”
Classes
Exercício
✔ Criar um programa que receba um nome próprio e gere um acronimo:
− Ex:● ruby prog.rb Robson Sejanes Soares Dornelles● Saída: RSSD
− Dica: no exemplo, o array de argumentos passados ao programa, ARGV, possuirá quatro elementos
Exercício
✔ Conseguimos entender as palavras mesmo que elas estejam embaralhadas
− Ex: Etse cruso etsa miuto leagl✔ Criar um programa que receba o nome de um arquivo de texto como argumento e bagunce as palavras deste arquivo. O texto bagunçado deve ser apresentado na saída padrão✔ Dicas:
− array.sort_by− array.slice− www.google.com
E agora?
✔ Muito material na internet− http://mislav.uniqpath.com/poignant-guide/book/− http://www.ruby-lang.org/en/
✔ Tópicos interessantes− Programação com sockets− Programação para web (Ruby On Rails)− Threads− Ruby-gtk