2. Olá!
• @sauloarruda
• Fundador e desenvolvedor da Jera
• 12 anos de código
• 2 filhas
• Ruby, Objective-C, Java, JavaScript
3. Ruby é...
Uma linguagem dinâmica,
open source com foco na
simplicidade e na produtividade.
Tem uma sintaxe elegante
de leitura natural e fácil escrita.
http://www.ruby-lang.org/pt/
6. Regras
• Desenvolvimento guiado por testes
• “Passos de bebê”
• Pair Programming
• Todos devem entender
• Três fases: RED, GREEN, Refactor
http://pet.inf.ufsc.br/dojo/o-que-eh-dojo/
8. Do it yourself
• Quantas horas há em um ano?
• Quantos minutos há em uma década?
• Qual sua idade em segundos?
• Se minha idade é 1119 milhões de
segundos, qual é minha idade em anos?
http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=01
9. Letras
irb(main):001:0> "Ola Mundo"
=> "Ola Mundo"
irb(main):002:0> puts 'Ola Mundo'
Ola Mundo
=> nil
irb(main):003:0> puts "Eu gosto de " +
"torta de maçã."
"Eu gosto de torta de maçã."
irb(main):004:0> "2" * 3
"222"
http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=02
10. Variáveis
irb(main):001:0> nome = "Saulo"
=> "Saulo"
irb(main):002:0> puts "Ola " + nome
Ola Saulo
=> nil
irb(main):003:0> eu = "eu"; vc = eu
"eu"
irb(main):004:0> eu = "Saulo"; puts vc
"eu"
=> nil
http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=03
11. Tudo junto agora
irb(main):001:0> var1 = 2; var2 = "5"; puts
var1.to_s * var2.to_i
"22222"
=> nil
irb(main):002:0> puts "Qual seu nome?";
nome = gets.chomp
Qual seu nome?
_
=> "Saulo"
http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=04
12. Sua vez
• Escreva um programa que peça o nome de
uma pessoa, depois o sobrenome. Por fim,
faça com que ele cumprimente a pessoa
usando seu nome completo.
http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=04
13. Sua vez (o retorno)
• Escreva um programa que pergunte pelo
número favorito de uma pessoa. Some um
ao número, e sugira o resultado como um
número favorito muito melhor (tenha tato
ao fazê-lo).
http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=04
14. Métodos
irb(main):001:0> p = "alas".reverse
"sala"
irb(main):002:0> p + " tem " + p.length + "
letras"
"sala tem 4 letras"
irb(main):003:0> rand(3)
(algo entre 0 e 3)
irb(main):004:0> Math.sqrt(9)
3.0
http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=05
15. Controle de fluxo
if [condicao]
comandos...
elsif [condicao]
comandos...
else
comandos...
end
while [condicao]
comandos...
end
http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=06
16. Agora vai!
• "Um elefante incomoda muita gente..."
Escreva um programa que imprima a letra
para o clássico das viagens de carro, com
um limite de 100 elefantes.
http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=04
17. Dificultando...
Escreva um programa Velha Surda. O que quer que você diga
à velha (o que quer que você digite), ela tem que responder com
QUE?! FALA MAIS ALTO!, a não ser que você grite (digite tudo
em maiúsculas). Se você gritar, ela pode lhe ouvir (ou ao menos
pensa que pode), e sempre responde NÃO, NÃO DESDE 1938!
Para fazer seu programa ser realmente verossímil, faça a velha
gritar um número diferente a cada vez; talvez qualquer ano
aleatório entre 1930 e 1950.Você não pode parar de falar com a
velha enquanto não gritar TCHAU.
Dica: Não esqueça do chomp ! 'TCHAU' com um enter não é a mesma coisa que
'TCHAU' sem! Dica 2: "sim".upcase == "SIM". Dica 3:Tente pensar em que partes do
programa as coisas acontecem repetidamente.Todas elas devem estar no seu loop while.
http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=04