SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Wende Mendes Higino

email: wende.mendes@bluesoft.com.br
Ruby
- Foi criada por Yukihiro Matsumoto ( 1993 )
   link : http://vimeo.com/17091861

- Orientada a objeto

- Tipagem Forte

- Dinâmica
Objetivo da sua criação
Puramente orientada a objeto
Linguagem interpretada
- Necessita da instalação de um interpretador ( MRI )

- No MAC OS X ( já vem instalado )
Gerenciador de pacotes

- Ruby-Gems

- Contém bibliotecas reutilizáveis

- Pode conter código em ( C, Java, .Net )
Gerenciador de pacotes

- Precisamos instalar o Rubygems.

- http://www.rubygems.org/
Interpretadores Ruby

- JRuby ( implementação em java da linguagen Ruby )

* interoperabilidade com código java existente
   * suporta Rails 3

- IronRuby

- Ruby.Net
IRB


- Um grande recurso


- Avalia cada linha inserida
IRB
Executando Ruby

- ruby wende.rb
Executando Ruby
Operações Aritméticas

- Multiplicação ( * )

- Adição ( + )

- Subtração ( - )

- Divisão ( / )

- Potência ( ** )

- Resto da divisão inteira ( % )
Adição
Subtração
Multiplicação
Divisão
Potência
Ruby



- Puts

- nil

- Strings ( 'teste' ou “teste” )
String



- Operador ( + )

- Operador ( << )

- Interpolação #{n}
String com operadores
       ( +, << )
String com interpolação
        ( #{n} )
String com interpolação
        ( #{n} )
String com interpolação
        ( #{n} )
String com interpolação
           ( #{n} )

- Interpolação ao invés de ( +, << )

- Mais limpo

- Mais legível

- Mais rápido
Classe Symbol


- Imutáveis

- Compartilhado

- Utilizados para nomenclatura

- Utilizados para identifcadores
Classe Symbol
Operadores boleanos

- Operadores ( ==, >, <, >=, <= )

- Combinações ( and, or )
Range



- (1..10)

- ('a'..'z')

- ('cab'..'caf')
Range
Trabalhando com IF
Trabalhando com IF
Trabalhando com Switch
Trabalhando com Switch
Trabalhando com if/elsif
Trabalhando com if/elsif
Ruby fundamentos

Contenu connexe

En vedette

Programação GUI com jRuby
Programação GUI com jRubyProgramação GUI com jRuby
Programação GUI com jRubyFrevo on Rails
 
WebApps minimalistas com Sinatra
WebApps minimalistas com SinatraWebApps minimalistas com Sinatra
WebApps minimalistas com SinatraFrevo on Rails
 
Jruby - Ruby em Ambientes 100% Java
Jruby - Ruby em Ambientes 100% JavaJruby - Ruby em Ambientes 100% Java
Jruby - Ruby em Ambientes 100% JavaSergio Azevedo
 
QCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRubyQCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRubyCharles Nutter
 
Jasmine - Sinon - BrazilJS
Jasmine - Sinon - BrazilJSJasmine - Sinon - BrazilJS
Jasmine - Sinon - BrazilJSSergio Azevedo
 

En vedette (6)

Programação GUI com jRuby
Programação GUI com jRubyProgramação GUI com jRuby
Programação GUI com jRuby
 
WebApps minimalistas com Sinatra
WebApps minimalistas com SinatraWebApps minimalistas com Sinatra
WebApps minimalistas com Sinatra
 
Jruby - Ruby em Ambientes 100% Java
Jruby - Ruby em Ambientes 100% JavaJruby - Ruby em Ambientes 100% Java
Jruby - Ruby em Ambientes 100% Java
 
QCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRubyQCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRuby
 
Jasmine - Sinon - BrazilJS
Jasmine - Sinon - BrazilJSJasmine - Sinon - BrazilJS
Jasmine - Sinon - BrazilJS
 
Rest Teoria E Pratica
Rest Teoria E PraticaRest Teoria E Pratica
Rest Teoria E Pratica
 

Similaire à Ruby fundamentos

Quick introduction to Ruby on Rails
Quick introduction to Ruby on RailsQuick introduction to Ruby on Rails
Quick introduction to Ruby on RailsWhitesmith
 
Ruby and Rails intro
Ruby and Rails introRuby and Rails intro
Ruby and Rails introNuno Silva
 
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
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 
O que é que o Java não tem?
O que é que o Java não tem?O que é que o Java não tem?
O que é que o Java não tem?Denis Costa
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsLucas Caton
 
Escrevendo modulos python com rust
Escrevendo modulos python com rustEscrevendo modulos python com rust
Escrevendo modulos python com rustBruno Rocha
 
Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Zarathon Maia
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
TDC2018SP | Trilha Ruby - Programacao funcional com Ruby, potencialize e simp...
TDC2018SP | Trilha Ruby - Programacao funcional com Ruby, potencialize e simp...TDC2018SP | Trilha Ruby - Programacao funcional com Ruby, potencialize e simp...
TDC2018SP | Trilha Ruby - Programacao funcional com Ruby, potencialize e simp...tdc-globalcode
 
O que mudou no Ruby 1.9
O que mudou no Ruby 1.9O que mudou no Ruby 1.9
O que mudou no Ruby 1.9Nando Vieira
 
Apresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBAApresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBALuciano Borges
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformMilfont Consulting
 

Similaire à Ruby fundamentos (20)

Introducing Ruby
Introducing RubyIntroducing Ruby
Introducing Ruby
 
Quick introduction to Ruby on Rails
Quick introduction to Ruby on RailsQuick introduction to Ruby on Rails
Quick introduction to Ruby on Rails
 
Ruby and Rails intro
Ruby and Rails introRuby and Rails intro
Ruby and Rails intro
 
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)
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
O que é que o Java não tem?
O que é que o Java não tem?O que é que o Java não tem?
O que é que o Java não tem?
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
 
Escrevendo modulos python com rust
Escrevendo modulos python com rustEscrevendo modulos python com rust
Escrevendo modulos python com rust
 
Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Ruby
RubyRuby
Ruby
 
Ruby (1)
Ruby (1)Ruby (1)
Ruby (1)
 
TDC2018SP | Trilha Ruby - Programacao funcional com Ruby, potencialize e simp...
TDC2018SP | Trilha Ruby - Programacao funcional com Ruby, potencialize e simp...TDC2018SP | Trilha Ruby - Programacao funcional com Ruby, potencialize e simp...
TDC2018SP | Trilha Ruby - Programacao funcional com Ruby, potencialize e simp...
 
O que mudou no Ruby 1.9
O que mudou no Ruby 1.9O que mudou no Ruby 1.9
O que mudou no Ruby 1.9
 
Ruby e Rails
Ruby e RailsRuby e Rails
Ruby e Rails
 
Apresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBAApresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBA
 
Sistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOASistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOA
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java Platform
 
Linguagem lua
Linguagem luaLinguagem lua
Linguagem lua
 

Plus de Wende Mendes

Angular Nodejs e com mongolab
Angular Nodejs e com mongolabAngular Nodejs e com mongolab
Angular Nodejs e com mongolabWende Mendes
 
Dicas para pescar tucunare
Dicas para pescar tucunareDicas para pescar tucunare
Dicas para pescar tucunareWende Mendes
 
Produtividade com teste de integracao
Produtividade com teste de integracaoProdutividade com teste de integracao
Produtividade com teste de integracaoWende Mendes
 
Táticas para motivar a sus equipe
Táticas para motivar a sus equipeTáticas para motivar a sus equipe
Táticas para motivar a sus equipeWende Mendes
 
Apreenda a trabalhar em equipe
Apreenda a trabalhar em equipeApreenda a trabalhar em equipe
Apreenda a trabalhar em equipeWende Mendes
 
Pare de dar descupas a voce mesmo e aproveite a vida
Pare de dar descupas a voce mesmo e aproveite a vidaPare de dar descupas a voce mesmo e aproveite a vida
Pare de dar descupas a voce mesmo e aproveite a vidaWende Mendes
 
Aprenda com o simples
Aprenda com o simples Aprenda com o simples
Aprenda com o simples Wende Mendes
 
Motivação e Metas para Equipe
Motivação e Metas para EquipeMotivação e Metas para Equipe
Motivação e Metas para EquipeWende Mendes
 
Uma breve introdução de play framework
Uma breve introdução de play frameworkUma breve introdução de play framework
Uma breve introdução de play frameworkWende Mendes
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e DependênciasWende Mendes
 
100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1Wende Mendes
 
Domain-Driven-Design
Domain-Driven-DesignDomain-Driven-Design
Domain-Driven-DesignWende Mendes
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeWende Mendes
 
Apresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitáriosApresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitáriosWende Mendes
 
Apresentação de ruby parte 5
Apresentação de ruby parte 5Apresentação de ruby parte 5
Apresentação de ruby parte 5Wende Mendes
 
Apresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplosApresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplosWende Mendes
 
Ruby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito maisRuby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito maisWende Mendes
 
Ruby com Objetos e classes
Ruby com Objetos e classesRuby com Objetos e classes
Ruby com Objetos e classesWende Mendes
 

Plus de Wende Mendes (20)

Rotas com angular
Rotas com angularRotas com angular
Rotas com angular
 
Angular Nodejs e com mongolab
Angular Nodejs e com mongolabAngular Nodejs e com mongolab
Angular Nodejs e com mongolab
 
Dicas para pescar tucunare
Dicas para pescar tucunareDicas para pescar tucunare
Dicas para pescar tucunare
 
Produtividade com teste de integracao
Produtividade com teste de integracaoProdutividade com teste de integracao
Produtividade com teste de integracao
 
Táticas para motivar a sus equipe
Táticas para motivar a sus equipeTáticas para motivar a sus equipe
Táticas para motivar a sus equipe
 
Apreenda a trabalhar em equipe
Apreenda a trabalhar em equipeApreenda a trabalhar em equipe
Apreenda a trabalhar em equipe
 
Pare de dar descupas a voce mesmo e aproveite a vida
Pare de dar descupas a voce mesmo e aproveite a vidaPare de dar descupas a voce mesmo e aproveite a vida
Pare de dar descupas a voce mesmo e aproveite a vida
 
Aprenda com o simples
Aprenda com o simples Aprenda com o simples
Aprenda com o simples
 
Motivação e Metas para Equipe
Motivação e Metas para EquipeMotivação e Metas para Equipe
Motivação e Metas para Equipe
 
Uma breve introdução de play framework
Uma breve introdução de play frameworkUma breve introdução de play framework
Uma breve introdução de play framework
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e Dependências
 
100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1
 
Domain-Driven-Design
Domain-Driven-DesignDomain-Driven-Design
Domain-Driven-Design
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipe
 
Apresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitáriosApresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitários
 
Apresentação de ruby parte 5
Apresentação de ruby parte 5Apresentação de ruby parte 5
Apresentação de ruby parte 5
 
Apresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplosApresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplos
 
Ruby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito maisRuby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito mais
 
Ruby com Objetos e classes
Ruby com Objetos e classesRuby com Objetos e classes
Ruby com Objetos e classes
 
Javaone2010
Javaone2010Javaone2010
Javaone2010
 

Ruby fundamentos