Ruby

Sobre mim

  • Ciência da Computação
  • Roga Labs
  • Mozillian <3

Ruby é uma linguagem de programação

Desenvolvida por Yukihiro Matsumoto

Lançada em 1995

Escrita em C

Open Source

“I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That's why I decided to design my own language.”

Interactive Ruby Shell (IRB)

Orientada a Objetos


5.times { puts "HelloMundo" }
          


Interpretada

Tipagem dinâmica e forte

Inferência de tipos


nome = 'marina'
nome = true
nome = 18
          

Variáveis


class User
  def initialize(name)
    @name = name
  end
end
          

Tipos de Dados

Inteiros, reais, strings


'marina'.class
1.class
4.2.class
'42'.class
          

Tipos de Dados

'string' ou "string"?


nome = "Marina"
"#{nome}"
'#{nome}' # não funciona
          

Tipos de Dados

Array


a = ["a", "b", "c"]
a.class
a.index("a")
a.index(0)
          

Tipos de Dados

Hash


h = { chave: "valor" }
h.class
h.keys
k.values
          

Operadores Lógicos

OperadorFunção
&& E
|| OU
! NÃO
== IGUAL
!= DIFERENTE

Estruturas de Controle

if - elsif - else


if num > 0
  puts "Maior que 0"
elsif num == 0
  puts "Igual a 0"
else
  puts "Menor que 0"
end
          

Estruturas de Controle

case


case num
  when 42 then
    "Vida, universo e tudo mais"
  else
    nil
end
          

Estruturas de Controle

while


while true
  puts 'true'
end
          

until


until a == true
  a == false
end
          

Estruturas de Controle

for


for a in 1..10
  puts a
end
          

Classes


Class Pessoa
  attr_acessor :nome

  def initialize(nome)
    @nome = nome
  end

  def to_s
    "Olá, #{@nome}!"
  end
end
          

Classes

Open Classes

Gems

Rails é um framework para desenvolver aplicações web

Framework:
Quantidade enorme de código pronto