Escolar Documentos
Profissional Documentos
Cultura Documentos
Tiago Lima
!
13 de Maro de 2014
Objetivos
Conhecer a histria e caractersticas da linguagem Instalar o Ruby 2.0.0 Conhecer o console interativo Familiarizar-se com a linguagem
Histria
Histria
Criada por Yukihiro Matz Matsumoto em 1995 Misturou partes das suas linguagens favoritas: Perl, Smalltalk, Eiffel, Ada e Lisp Ruby projetada para fazer os programadores felizes (Matz)
Caractersticas
Caractersticas
Interpretadada Multiplataforma
Caractersticas
Intuitiva
2.days.ago! Time.now! 3.times!
Caractersticas
Flexvel
class String! def letters! self.gsub(/\d/, "")! end! end!
!
Caractersticas
Multiparadigma
Orientada a Objetos
mandela = Person.new! gandhi = Person.new! mandela.say_hello! mandela.be_friends_with(gandhi)
Caractersticas
Multiparadigma
Funcional
[1, 2, 3, 4, 5].select { |n| n % 2 == 0 }
Caractersticas
Multiparadigma
Imperativa
numbers = [1, 2, 3, 4, 5]! even = []! numbers.each do |n|! even << n if n.even?! end
Caractersticas
Multiparadigma
Reexiva
beagle.is_a? Animal! # => true!
!
"A String".methods! # => [:<=>, :==, :===, :eql?, :hash, ! :casecmp, :+, :*, :%, :[], : []=, :insert, :length, :size, :bytesize, : empty?, :=~, :match, :succ, :succ!,(...)]
Caractersticas
Tipagem
Dinmica Forte
name = "Nelson Mandela"! age = 94!
!
Caractersticas
Tudo objeto
3.times! # => #<Enumerator: 3:times>!
!
Classes e mtodos
Classes
Denindo uma classe
class User attr_accessor :name, :age
!
Mtodos
Denindo um mtodo
class User ... def to_s name_capitalized + " nascido no ano de " + year_birth.to_s end
! !
Instalao
Instalando no Linux/Mac
https://rvm.io/ http://railscasts.com/episodes/200-rails-3-beta-and-rvm
Instalando no Windows
http://railsinstaller.org/
RubyGems
RubyGems
http://rubygems.org/
RubyGems
O que ?
Contido na instalao Interpretador interativo do Ruby Avalia expresses contidas no cdigo timo para ter o primeiro contato com a linguagem
Como Executar
Mac OS e Linux
Para inici-lo, basta abrir o terminal e executar o irb
Como Executar
Windows
Abrir o Interactive Ruby
Hello World
Hello World
O que aconteceu?
!2.0.0p195 :002 > puts "Hello World"! Hello World! ! => nil
puts Comando bsico para imprimir nil Representa o valor nulo O comando puts imprime o parmetro e retorna nil
Explorando o irb
Clculos simples
Soma (+), Subtrao (-), Multiplicao (*), Diviso (/), Potenciao (**), etc.
2.0.0p195 :012 > 1 + 3! => 4 ! 2.0.0p195 :013 > 1 * 3! => 3 ! 2.0.0p195 :014 > 2 ** 3! => 8 ! 2.0.0p195 :015 > 2 / 3! => 0 ! 2.0.0p195 :016 > 2.0 / 3! => 0.6666666666666666
Exerccios
Exerccios
Instale o Ruby Explore a linguagem atravs do irb Use o http://tryruby.org, tutorial online
Exerccios
Dena uma classe que representa um Conjunto de Strings, suportando operaes de conjuntos:
Adicionar uma String Checar se o cojunto contm uma String especca Remover uma String Nmero de Strings em um conjunto Unio de dois conjuntos Interseo de dois conjuntos
Obrigado!
Referncias
Documentao do Ruby: http://rubydoc.org/ Tutorial sobre Ruby: http://tryruby.org/ Curso do Code School de Ruby: https:// www.codeschool.com/courses/tryruby