22
Ruby Saulo Arruda 28/01/2012

Minicurso Ruby

Embed Size (px)

DESCRIPTION

Minicurso ministrado

Citation preview

Page 1: Minicurso Ruby

RubySaulo Arruda

28/01/2012

Page 2: Minicurso Ruby

Olá!

• @sauloarruda

• Fundador e desenvolvedor da Jera

• 12 anos de código

• 2 filhas

• Ruby, Objective-C, Java, JavaScript

Page 3: Minicurso Ruby

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/

Page 4: Minicurso Ruby

Mas antes...

Page 5: Minicurso Ruby

Coding Dojo

Page 6: Minicurso Ruby

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/

Page 7: Minicurso Ruby

Ruby Interativo - irbirb(main):001:0>

irb(main):002:0> 3.0+2.0=> 5.0

irb(main):001:0> 3+2=> 5

http://www.ruby-lang.org/pt/documentacao/quickstart

irb(main):003:0> 5 * (12-8) + -15=> 5irb(main):004:0> 98 + (59872/(13*8)) * -52=> -29802

http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=01

Page 8: Minicurso Ruby

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

Page 9: Minicurso Ruby

Letrasirb(main):001:0> "Ola Mundo"=> "Ola Mundo"

http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=02

irb(main):002:0> puts 'Ola Mundo' Ola 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"

Page 10: Minicurso Ruby

Variáveisirb(main):001:0> nome = "Saulo"=> "Saulo"

http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=03

irb(main):002:0> puts "Ola " + nome Ola Saulo => nilirb(main):003:0> eu = "eu"; vc = eu"eu"irb(main):004:0> eu = "Saulo"; puts vc"eu"=> nil

Page 11: Minicurso Ruby

Tudo junto agora

irb(main):001:0> var1 = 2; var2 = "5"; puts var1.to_s * var2.to_i"22222"=> nil

http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=04

irb(main):002:0> puts "Qual seu nome?"; nome = gets.chompQual seu nome?_=> "Saulo"

Page 12: Minicurso Ruby

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

Page 13: Minicurso Ruby

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

Page 14: Minicurso Ruby

Métodosirb(main):001:0> p = "alas".reverse"sala"

http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=05

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

Page 15: Minicurso Ruby

Controle de fluxo

http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=06

if [condicao] comandos...elsif [condicao] comandos...else comandos...endwhile [condicao] comandos...end

Page 16: Minicurso Ruby

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

Page 17: Minicurso Ruby

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.

http://aprendaaprogramar.rubyonrails.com.br/index.rb?Chapter=04

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.

Page 18: Minicurso Ruby

http://test-unit.rubyforge.org/

Page 19: Minicurso Ruby

Exercícios

• Joquempô => Pedra, papel, tesoura

Page 20: Minicurso Ruby

http://rubyonrails.org/

Page 21: Minicurso Ruby

Retrospectiva

Page 22: Minicurso Ruby

• O que aprendemos?

• O que gostamos?

• O que pode melhorar?

• Discussões ou comentários

15 minutos