Este documento apresenta uma introdução à linguagem de programação Ruby, abordando suas principais características, biblioteca padrão, variáveis, tipos numéricos, strings, expressões regulares, estruturas de controle, arrays, hashes, funções, entrada e saída, arquivos e classes. Dois exercícios práticos são propostos para fixar os conceitos apresentados.
7. 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
●
8. 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
●
13. 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)
17. 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”
−
19. 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
20. 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
−
21. 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
−