Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Minicurso Ruby

1,644 views

Published on

Minicurso ministrado

  • Be the first to comment

  • Be the first to like this

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

×