SlideShare uma empresa Scribd logo
Ruby
Aula 1
Características da Linguagem
Alto nível, o que significa que a leitura e a
escrita em Ruby é realmente fácil — parece muito
com o idioma inglês!
Interpretada, o que significa que você não
precisa de um compilador para codificar e
executar seus programas em Ruby. IRB
Características da Linguagem
Orientada a objetos, o que significa que ela
permite que os usuários manipulem estruturas de
dados chamadas objetos para criar e executar
programas.
Vamos aprender mais sobre objetos depois, mas
por enquanto, tudo o que você precisa saber é
que absolutamente tudo em Ruby é um objeto.
Características da Linguagem
Fácil de usar, Ruby foi desenvolvido por Yukihiro
Matsumoto (frequentemente chamado de "Matz")
em 1995. Matz se concentrou em desenvolver
uma linguagem que enfatiza as necessidades
humanas ao invés das necessidades do
computador, o que é o motivo de Ruby ser tão
fácil de compreender.
Aula de Hoje
Strings, Números,
Variáveis, Constantes e
Comentários
Oops… antes disso
Como “rodar” um
programa em Ruby?
Números
> 100.class
=> Fixnum
> 10000000000000000000.class
=> Bignum
> 100.0.class
=> Float
Conversão de Números
> 1.0 + 2
=> 3.0
> 1 / 2
=> 0
> 1.0 / 2
=> 0.5
> 1 / 2.0
=> 0.5
Números: Operadores Aritméticos
a = 10 e b = 20
a + b
a – b
a * b
b / a
b % a
a ** b
Números: Operadores de atribuição
a = 10 e b = 20
c = a + b
c += a é equivalente a c = c + a
c -= a é equivalente a c = c - a
c *= a é equivalente a c = c * a
c /= a é equivalente a c = c / a
c %= a é equivalente a c = c % a
c **= a é equivalente a c = c ** a
Strings
Letras, Palavras, e Textos
Strings
“” ou ''
“Este é um programa em Ruby”
'Este também é um programa em Ruby'
Strings
puts 'Olá, mundo! :)'
puts ''
puts 'Até logo.'
Strings: Interpolação
'Seconds/day: #{24 * 60 * 60}'
"Seconds/day: #{24 * 60 * 60}"
'Tro #{'Lo ' * 3}!!!1'
“Tro #{'Lo ' * 3}!!!1”
Strings: Scape
puts 'Lata d'água na cabeça.'
puts “A “baby-sitter” e o “barman”
marcaram um encontro no “hall” do
edifício.”
:(
Strings: Scape
puts 'Lata d'água na cabeça.'
puts “A “baby-sitter” e
o “barman” marcaram um encontro
no “hall” do edifício.”
:)
Strings: Concatenação
> 'Con' "cat" 'ena' "ção"
> 'Con'+"cat"+'ena'+"ção"
nome = 'Arnold'
nome << 'Schwarzenegger'
nome.concat('da Silva')
Strings: Acessando caracteres
puts curso = 'Ruby on Rails Turma 2016/2'
puts curso[0]
puts curso.slice(0)
puts curso[-1]
puts curso[8..12]
puts curso[14..-8]
Strings: Métodos Usuais
"inTEraJe".capitalize
"Interaje".downcase
"Interaje".chars
"Interaje".index("ra")
"Interaje".insert(0, "Instituto ")
"Interaje".partition("ra")
"Interaje".reverse
Strings: Métodos Usuais
"Terça tem aula de
ruby".gsub('Terça', 'Quarta')
"Instituto de Jovens Empreendedores
Digitais de Teresina".lenght
"Instituto de Jovens Empreendedores
Digitais de Teresina".size
Strings: Métodos Usuais
"Instituto de Jovens
Empreendedores Digitais de
Teresina".split
"Interaje - Instituto de Jovens
Empreendedores Digitais de
Teresina".split('-')
Variáveis e Constantes
variavel = sempre inicia com letra minúscula
Constante = sempre inicia com letra maiúscula
variavel: o valor pode ser modificado.
CONSTANTE: o valor é sempre o mesmo.
* CONSTANTE: GERALMENTE TUDO CAIXA ALTA
Variáveis
Ruby é uma linguagem dinâmica
variavel = 3
variavel.class
variavel = '3'
variavel.class
Variáveis
Porém é fortemente tipada.
a = 1
b = '1'
a + b #erro
Variáveis
nome = 'Maria Joaquina de Amaral Pereira Goes'
puts 'O nome da moça é ' + nome + '.'
puts 'Nossa! ' + nome + ' é um nome bem longo!'
idade = '27 anos'
puts nome + 'tem' + idade
Comentários
Comentário de linha:
# nome = 'Maria Joaquina de Amaral Pereira Goes'
Comentário de bloco
=begin
puts 'O nome da moça é ' + nome + '.'
puts 'Nossa! ' + nome + ' é um nome bem longo!'
=end
Desafios
1) Sem tentar executar o código abaixo, responda: Ele funciona?
Por que?
resultado = 10 + 4
texto = "O valor é " + resultado
puts(texto)
2) E o código abaixo, deveria funcionar? Por que?
puts(1+2)
Desafios
3) Qual a saída deste código?
resultado = 10 ** 2
puts('o resultado é: #{resultado}')
4) Baseado na sua resposta da primeira questão, por que o código
abaixo funciona?
resultado = 10 + 3
texto = "O valor é: #{resultado}"
Referências para Estudo
● http://www.jmonteiro.com/aprendaaprogramar/index
● http://kottans.org/ruby-slides/public/rubybasics/
● https://www.caelum.com.br/apostila-ruby-on-rails/ru
Fim da Primeira Aula: Enquete
1 2 3

Mais conteúdo relacionado

Mais procurados

Ruby para programadores PHP
Ruby para programadores PHPRuby para programadores PHP
Ruby para programadores PHP
Juan Maiz
 
Paradigmas do Ruby
Paradigmas do RubyParadigmas do Ruby
Paradigmas do Ruby
Heverson Damasceno
 
Ruby, Rails e Diversão (Campus Party Brasil 2009)
Ruby, Rails e Diversão (Campus Party Brasil 2009)Ruby, Rails e Diversão (Campus Party Brasil 2009)
Ruby, Rails e Diversão (Campus Party Brasil 2009)
Julio Monteiro
 
Palestra Ruby
Palestra RubyPalestra Ruby
Palestra Ruby
Cássio Marques
 
Aula 1
Aula 1Aula 1
Aula 1
Michel Brito
 
Slide de JAVA
Slide de JAVASlide de JAVA
Slide de JAVA
Ed W. Jr
 

Mais procurados (6)

Ruby para programadores PHP
Ruby para programadores PHPRuby para programadores PHP
Ruby para programadores PHP
 
Paradigmas do Ruby
Paradigmas do RubyParadigmas do Ruby
Paradigmas do Ruby
 
Ruby, Rails e Diversão (Campus Party Brasil 2009)
Ruby, Rails e Diversão (Campus Party Brasil 2009)Ruby, Rails e Diversão (Campus Party Brasil 2009)
Ruby, Rails e Diversão (Campus Party Brasil 2009)
 
Palestra Ruby
Palestra RubyPalestra Ruby
Palestra Ruby
 
Aula 1
Aula 1Aula 1
Aula 1
 
Slide de JAVA
Slide de JAVASlide de JAVA
Slide de JAVA
 

Destaque

Curso de Ruby on Rails
Curso de Ruby on RailsCurso de Ruby on Rails
Curso de Ruby on Rails
CJR, UnB
 
Launching Ruby on Rails projects: A checklist
Launching Ruby on Rails projects: A checklistLaunching Ruby on Rails projects: A checklist
Launching Ruby on Rails projects: A checklist
Robby Russell
 
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory CourseRuby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
peter_marklund
 
Ruby on Rails for beginners
Ruby on Rails for beginnersRuby on Rails for beginners
Ruby on Rails for beginners
Vysakh Sreenivasan
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)
Konstantin Gredeskoul
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails Introduction
Thomas Fuchs
 

Destaque (6)

Curso de Ruby on Rails
Curso de Ruby on RailsCurso de Ruby on Rails
Curso de Ruby on Rails
 
Launching Ruby on Rails projects: A checklist
Launching Ruby on Rails projects: A checklistLaunching Ruby on Rails projects: A checklist
Launching Ruby on Rails projects: A checklist
 
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory CourseRuby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
 
Ruby on Rails for beginners
Ruby on Rails for beginnersRuby on Rails for beginners
Ruby on Rails for beginners
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails Introduction
 

Semelhante a Ruby aula01

Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014
Zarathon Maia
 
Começando com Ruby - III SEICOM
Começando com Ruby - III SEICOMComeçando com Ruby - III SEICOM
Começando com Ruby - III SEICOM
Kenner Kliemann
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
Rodrigo Branas
 
Curso Ruby
Curso RubyCurso Ruby
Curso Ruby
Regis Magalhães
 
Curso de introdução ao ruby
Curso de introdução ao rubyCurso de introdução ao ruby
Curso de introdução ao ruby
Francis Wagner
 
O mundo visto de dentro do Ruby
O mundo visto de dentro do RubyO mundo visto de dentro do Ruby
O mundo visto de dentro do Ruby
Vítor Avelino Dutra Magalhães
 
Introdução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em RailsIntrodução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em Rails
overduka
 
Workshop Ruby on Rails dia 1 ruby-pt
Workshop Ruby on Rails dia 1 ruby-ptWorkshop Ruby on Rails dia 1 ruby-pt
Workshop Ruby on Rails dia 1 ruby-pt
Pedro Sousa
 
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
Helder da Rocha
 
Ruby para-programadores-php
Ruby para-programadores-phpRuby para-programadores-php
Ruby para-programadores-php
Juan Maiz
 
Aula 2
Aula 2Aula 2
Aula 2
Michel Brito
 
Aula 2
Aula 2Aula 2
Aula 2
Michel Brito
 
Aula 2
Aula 2Aula 2
Aula 2
Michel Brito
 
Minicurso Ruby
Minicurso RubyMinicurso Ruby
Minicurso Ruby
Saulo Arruda
 
Crash Course Ruby & Rails
Crash Course Ruby & RailsCrash Course Ruby & Rails
Crash Course Ruby & Rails
Frevo on Rails
 
Ruby para testers II - Introdução
Ruby para testers II - IntroduçãoRuby para testers II - Introdução
Ruby para testers II - Introdução
TestRock!
 
Aprendendo ruby
Aprendendo rubyAprendendo ruby
Aprendendo ruby
Maurício Linhares
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
Marco Antonio Filho
 
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
Jonata Weber
 
Trabalho sobre Ruby(Linguagem de programação )
Trabalho sobre Ruby(Linguagem de programação )Trabalho sobre Ruby(Linguagem de programação )
Trabalho sobre Ruby(Linguagem de programação )
TheFill
 

Semelhante a Ruby aula01 (20)

Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014
 
Começando com Ruby - III SEICOM
Começando com Ruby - III SEICOMComeçando com Ruby - III SEICOM
Começando com Ruby - III SEICOM
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Curso Ruby
Curso RubyCurso Ruby
Curso Ruby
 
Curso de introdução ao ruby
Curso de introdução ao rubyCurso de introdução ao ruby
Curso de introdução ao ruby
 
O mundo visto de dentro do Ruby
O mundo visto de dentro do RubyO mundo visto de dentro do Ruby
O mundo visto de dentro do Ruby
 
Introdução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em RailsIntrodução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em Rails
 
Workshop Ruby on Rails dia 1 ruby-pt
Workshop Ruby on Rails dia 1 ruby-ptWorkshop Ruby on Rails dia 1 ruby-pt
Workshop Ruby on Rails dia 1 ruby-pt
 
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
 
Ruby para-programadores-php
Ruby para-programadores-phpRuby para-programadores-php
Ruby para-programadores-php
 
Aula 2
Aula 2Aula 2
Aula 2
 
Aula 2
Aula 2Aula 2
Aula 2
 
Aula 2
Aula 2Aula 2
Aula 2
 
Minicurso Ruby
Minicurso RubyMinicurso Ruby
Minicurso Ruby
 
Crash Course Ruby & Rails
Crash Course Ruby & RailsCrash Course Ruby & Rails
Crash Course Ruby & Rails
 
Ruby para testers II - Introdução
Ruby para testers II - IntroduçãoRuby para testers II - Introdução
Ruby para testers II - Introdução
 
Aprendendo ruby
Aprendendo rubyAprendendo ruby
Aprendendo ruby
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
 
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
 
Trabalho sobre Ruby(Linguagem de programação )
Trabalho sobre Ruby(Linguagem de programação )Trabalho sobre Ruby(Linguagem de programação )
Trabalho sobre Ruby(Linguagem de programação )
 

Último

Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 

Último (8)

Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 

Ruby aula01