SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Ruby
             Saulo Arruda




28/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 na
simplicidade e na produtividade.
  Tem uma sintaxe elegante
de leitura natural e fácil escrita.




                           http://www.ruby-lang.org/pt/
Mas antes...
Coding Dojo
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/
Ruby Interativo - irb
irb(main):001:0>
irb(main):001:0> 3+2
=> 5
irb(main):002:0> 3.0+2.0
=> 5.0
irb(main):003:0> 5 * (12-8) + -15
=> 5
irb(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
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
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
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
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
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
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
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
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
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
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
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

Weitere ähnliche Inhalte

Andere mochten auch

Criando temas para Joomla, Wordpress, Drupal e tudo mais sem tocar em templa...
Criando temas para Joomla, Wordpress, Drupal e tudo mais  sem tocar em templa...Criando temas para Joomla, Wordpress, Drupal e tudo mais  sem tocar em templa...
Criando temas para Joomla, Wordpress, Drupal e tudo mais sem tocar em templa...Simples Consultoria
 
PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?Simples Consultoria
 
Cómo Brasil está construyendo una nación digital con código abierto y Python
Cómo Brasil está construyendo una nación digital con código abierto y PythonCómo Brasil está construyendo una nación digital con código abierto y Python
Cómo Brasil está construyendo una nación digital con código abierto y PythonSimples Consultoria
 
Python como primeira linguagem de programação
Python como primeira linguagem de programaçãoPython como primeira linguagem de programação
Python como primeira linguagem de programaçãoSimples Consultoria
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introduçãoPablo Feijó
 
Introdução JQuery
Introdução JQueryIntrodução JQuery
Introdução JQueryinfo_cimol
 

Andere mochten auch (13)

Criando temas para Joomla, Wordpress, Drupal e tudo mais sem tocar em templa...
Criando temas para Joomla, Wordpress, Drupal e tudo mais  sem tocar em templa...Criando temas para Joomla, Wordpress, Drupal e tudo mais  sem tocar em templa...
Criando temas para Joomla, Wordpress, Drupal e tudo mais sem tocar em templa...
 
O Futuro do Plone
O Futuro do PloneO Futuro do Plone
O Futuro do Plone
 
PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?
 
Diazo para todos
Diazo para todosDiazo para todos
Diazo para todos
 
O Estado do Plone - FISL 14
O Estado do Plone - FISL 14O Estado do Plone - FISL 14
O Estado do Plone - FISL 14
 
Criando Temas com Diazo
Criando Temas com DiazoCriando Temas com Diazo
Criando Temas com Diazo
 
Gestión de Contenido con Plone
Gestión de Contenido con PloneGestión de Contenido con Plone
Gestión de Contenido con Plone
 
Cómo Brasil está construyendo una nación digital con código abierto y Python
Cómo Brasil está construyendo una nación digital con código abierto y PythonCómo Brasil está construyendo una nación digital con código abierto y Python
Cómo Brasil está construyendo una nación digital con código abierto y Python
 
Integrando Python e JavaScript
Integrando Python e JavaScriptIntegrando Python e JavaScript
Integrando Python e JavaScript
 
Python como primeira linguagem de programação
Python como primeira linguagem de programaçãoPython como primeira linguagem de programação
Python como primeira linguagem de programação
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
 
Collective Cover
Collective CoverCollective Cover
Collective Cover
 
Introdução JQuery
Introdução JQueryIntrodução JQuery
Introdução JQuery
 

Ähnlich wie Introdução à linguagem Ruby

Programação de Computadores - Python aula 1
Programação de Computadores - Python aula 1Programação de Computadores - Python aula 1
Programação de Computadores - Python aula 1Prof. Ariel Dias
 
Swift em 45 minutos - TDC Sao Paulo 2014
Swift em 45 minutos - TDC Sao Paulo 2014Swift em 45 minutos - TDC Sao Paulo 2014
Swift em 45 minutos - TDC Sao Paulo 2014Helder da Rocha
 
Curso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a AulaCurso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a AulaJonata Weber
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptRodrigo Branas
 
Sábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptSábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptJulio Greff
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programaçãoCarlos Santos
 
Senid2016 - Oficina de LibreLogo - Prof. Gilvan Vilarm
Senid2016 - Oficina de LibreLogo - Prof. Gilvan VilarmSenid2016 - Oficina de LibreLogo - Prof. Gilvan Vilarm
Senid2016 - Oficina de LibreLogo - Prof. Gilvan VilarmGilvan Vilarim
 
SIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHPSIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHPJonata Weber
 
Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)Joao Lucas Santana
 
WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011Leonardo Balter
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPaulino Michelazzo
 

Ähnlich wie Introdução à linguagem Ruby (20)

Programação de Computadores - Python aula 1
Programação de Computadores - Python aula 1Programação de Computadores - Python aula 1
Programação de Computadores - Python aula 1
 
Swift em 45 minutos - TDC Sao Paulo 2014
Swift em 45 minutos - TDC Sao Paulo 2014Swift em 45 minutos - TDC Sao Paulo 2014
Swift em 45 minutos - TDC Sao Paulo 2014
 
Curso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a AulaCurso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a Aula
 
Palestra Ruby
Palestra RubyPalestra Ruby
Palestra Ruby
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Sábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptSábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScript
 
Mergulhando no ecossistema .NET
Mergulhando no ecossistema .NETMergulhando no ecossistema .NET
Mergulhando no ecossistema .NET
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação
 
Senid2016 - Oficina de LibreLogo - Prof. Gilvan Vilarm
Senid2016 - Oficina de LibreLogo - Prof. Gilvan VilarmSenid2016 - Oficina de LibreLogo - Prof. Gilvan Vilarm
Senid2016 - Oficina de LibreLogo - Prof. Gilvan Vilarm
 
Qual linguagem escolher?
Qual linguagem escolher?Qual linguagem escolher?
Qual linguagem escolher?
 
Ruby learning
Ruby learningRuby learning
Ruby learning
 
Robo Falante
Robo FalanteRobo Falante
Robo Falante
 
Lapidando ruby
Lapidando rubyLapidando ruby
Lapidando ruby
 
SIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHPSIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHP
 
Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)
 
WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
 

Mehr von Saulo Arruda

MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8Saulo Arruda
 
Oportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startupsOportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startupsSaulo Arruda
 
Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014Saulo Arruda
 
Growth hacking - Jera Retrospectiva
Growth hacking  - Jera RetrospectivaGrowth hacking  - Jera Retrospectiva
Growth hacking - Jera RetrospectivaSaulo Arruda
 
#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startupsSaulo Arruda
 
StartupFarm métricas
StartupFarm métricasStartupFarm métricas
StartupFarm métricasSaulo Arruda
 
Mande seu chefe pentear macaco
Mande seu chefe pentear macacoMande seu chefe pentear macaco
Mande seu chefe pentear macacoSaulo Arruda
 
Sthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e MobileSthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e MobileSaulo Arruda
 
Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?Saulo Arruda
 
Startups - É programando que se empreende
Startups - É programando que se empreendeStartups - É programando que se empreende
Startups - É programando que se empreendeSaulo Arruda
 
Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Saulo Arruda
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Saulo Arruda
 
Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Saulo Arruda
 
TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?Saulo Arruda
 
Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Saulo Arruda
 
Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Saulo Arruda
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Saulo Arruda
 
Empreendedorismo Agil
Empreendedorismo AgilEmpreendedorismo Agil
Empreendedorismo AgilSaulo Arruda
 

Mehr von Saulo Arruda (20)

MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8
 
Oportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startupsOportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startups
 
Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014
 
Growth hacking - Jera Retrospectiva
Growth hacking  - Jera RetrospectivaGrowth hacking  - Jera Retrospectiva
Growth hacking - Jera Retrospectiva
 
#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups
 
StartupFarm métricas
StartupFarm métricasStartupFarm métricas
StartupFarm métricas
 
Mande seu chefe pentear macaco
Mande seu chefe pentear macacoMande seu chefe pentear macaco
Mande seu chefe pentear macaco
 
Sthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e MobileSthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e Mobile
 
Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?
 
Startups - É programando que se empreende
Startups - É programando que se empreendeStartups - É programando que se empreende
Startups - É programando que se empreende
 
SCRUM - Aula 2
SCRUM - Aula 2SCRUM - Aula 2
SCRUM - Aula 2
 
SCRUM - Aula1
SCRUM - Aula1SCRUM - Aula1
SCRUM - Aula1
 
Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5
 
Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4
 
TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?
 
Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3
 
Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
Empreendedorismo Agil
Empreendedorismo AgilEmpreendedorismo Agil
Empreendedorismo Agil
 

Introdução à linguagem Ruby

  • 1. Ruby Saulo Arruda 28/01/2012
  • 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/
  • 7. Ruby Interativo - irb irb(main):001:0> irb(main):001:0> 3+2 => 5 irb(main):002:0> 3.0+2.0 => 5.0 irb(main):003:0> 5 * (12-8) + -15 => 5 irb(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. 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
  • 19. Exercícios • Joquempô => Pedra, papel, tesoura
  • 22. 15 minutos • O que aprendemos? • O que gostamos? • O que pode melhorar? • Discussões ou comentários