Ruby             Saulo Arruda28/01/2012
Olá!• @sauloarruda • Fundador e desenvolvedor da Jera • 12 anos de código • 2 filhas • Ruby, Objective-C, Java, JavaScript
Ruby é...   Uma linguagem dinâmica,   open source com foco nasimplicidade e na produtividade.  Tem uma sintaxe elegantede ...
Mas antes...
Coding Dojo
Regras• Desenvolvimento guiado por testes• “Passos de bebꔕ Pair Programming• Todos devem entender• Três fases: RED, GREE...
Ruby Interativo - irbirb(main):001:0>irb(main):001:0> 3+2=> 5irb(main):002:0> 3.0+2.0=> 5.0irb(main):003:0> 5 * (12-8) + -...
Do it yourself• Quantas horas há em um ano?• Quantos minutos há em uma década?• Qual sua idade em segundos?• Se minha idad...
Letrasirb(main):001:0> "Ola Mundo"=> "Ola Mundo"irb(main):002:0> puts Ola MundoOla Mundo=> nilirb(main):003:0> puts "Eu go...
Variáveisirb(main):001:0> nome = "Saulo"=> "Saulo"irb(main):002:0> puts "Ola " + nomeOla Saulo=> nilirb(main):003:0> eu = ...
Tudo junto agorairb(main):001:0> var1 = 2; var2 = "5"; putsvar1.to_s * var2.to_i"22222"=> nilirb(main):002:0> puts "Qual s...
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 p...
Sua vez (o retorno)• Escreva um programa que pergunte pelo  número favorito de uma pessoa. Some um  ao número, e sugira o ...
Métodosirb(main):001:0> p = "alas".reverse"sala"irb(main):002:0> p + " tem " + p.length + "letras""sala tem 4 letras"irb(m...
Controle de fluxoif [condicao]    comandos...elsif [condicao]    comandos...else    comandos...endwhile [condicao]    coman...
Agora vai!• "Um elefante incomoda muita gente..."  Escreva um programa que imprima a letra  para o clássico das viagens de...
Dificultando... Escreva um programa Velha Surda. O que quer que você diga à velha (o que quer que você digite), ela tem que...
http://test-unit.rubyforge.org/
Exercícios• Joquempô => Pedra, papel, tesoura
http://rubyonrails.org/
Retrospectiva
15 minutos• O que aprendemos?• O que gostamos?• O que pode melhorar?• Discussões ou comentários
Upcoming SlideShare
Loading in...5
×

Minicurso Ruby

1,217

Published on

Minicurso ministrado

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,217
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Minicurso Ruby

  1. 1. Ruby Saulo Arruda28/01/2012
  2. 2. Olá!• @sauloarruda • Fundador e desenvolvedor da Jera • 12 anos de código • 2 filhas • Ruby, Objective-C, Java, JavaScript
  3. 3. Ruby é... Uma linguagem dinâmica, open source com foco nasimplicidade e na produtividade. Tem uma sintaxe elegantede leitura natural e fácil escrita. http://www.ruby-lang.org/pt/
  4. 4. Mas antes...
  5. 5. Coding Dojo
  6. 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/
  7. 7. Ruby Interativo - irbirb(main):001:0>irb(main):001:0> 3+2=> 5irb(main):002:0> 3.0+2.0=> 5.0irb(main):003:0> 5 * (12-8) + -15=> 5irb(main):004:0> 98 + (59872/(13*8)) * -52=> -29802 http://www.ruby-lang.org/pt/documentacao/quickstart http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=01
  8. 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. 9. Letrasirb(main):001:0> "Ola Mundo"=> "Ola Mundo"irb(main):002:0> puts Ola MundoOla Mundo=> nilirb(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. 10. Variáveisirb(main):001:0> nome = "Saulo"=> "Saulo"irb(main):002:0> puts "Ola " + nomeOla Saulo=> nilirb(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. 11. Tudo junto agorairb(main):001:0> var1 = 2; var2 = "5"; putsvar1.to_s * var2.to_i"22222"=> nilirb(main):002:0> puts "Qual seu nome?";nome = gets.chompQual seu nome?_=> "Saulo" http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=04
  12. 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. 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. 14. Métodosirb(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. 15. Controle de fluxoif [condicao] comandos...elsif [condicao] comandos...else comandos...endwhile [condicao] comandos...end http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=06
  16. 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. 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 queTCHAU sem! Dica 2: "sim".upcase == "SIM". Dica 3:Tente pensar em que partes doprograma as coisas acontecem repetidamente.Todas elas devem estar no seu loop while. http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=04
  18. 18. http://test-unit.rubyforge.org/
  19. 19. Exercícios• Joquempô => Pedra, papel, tesoura
  20. 20. http://rubyonrails.org/
  21. 21. Retrospectiva
  22. 22. 15 minutos• O que aprendemos?• O que gostamos?• O que pode melhorar?• Discussões ou comentários
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×