Skip to content

Instantly share code, notes, and snippets.

View gbpereira's full-sized avatar

Guilherme Pereira gbpereira

  • São Paulo - Brazil
View GitHub Profile
class Name
attr_accessor :given_name, :family_name
end
class Address < Name; end
a = Address.new
puts a.respond_to?(:given_name)
#=> true
# métodos de classe
class SomeClass
def self.handle
puts 'class method'
end
end
puts SomeClass.handle
# adicona um método singleton ao objeto c
class Box
#attr_writer
#attr_reader
attr_accessor :width
def initialize(w, h)
@width = w
@height = h
end
# inicializando hash
hash = {} # inicializa um hash vazio
hash = Hash.new # inicializa um hash vazio
hash = {one: 1, two: 2} # inicializa um hash com valores
# adicionando valores
hash[:word] = 'seccomp'
# acessando valores
hash[:word]
# algumas formas de inicializar um array
arr = [] # []
arr = [1, 2, 3] # [1, 2, 3]
arr = *(1..3) # [1, 2, 3]
arr = Array(1..3) # [1, 2, 3]
arr = Array.new # []
arr = Array.new(4) # [nil, nil, nil, nil]
arr = Array.new(4, 2) # [2, 2, 2, 2]
# arrays podem conter tipos diferentes de dados
# operadores de comparação
12 == 14 # igualdade
12 != 14 # diferença
12 < 14 # menor
12 <= 14 # menor ou igual
12 > 14 # maior
12 >= 14 # maior ou igual
# retorna (-1) se (a < b); 0 se (a == b); 1 se (a > b)
a <=> b
# operadores aritméticos
7 + 5 # adição
20 - 8 # subtração
2 * 6 # multiplicação
12**2 # exponenciação
12 % 5 # módulo
# o resultado da divisão depende do tipo de seus operandos
25 / 2 # divisão com truncamento
25.0 / 2 # divisão sem truncamento
@gbpereira
gbpereira / instalacao.md
Last active October 17, 2016 00:06
Comandos para setup do ruby e do rails

ubuntu 14.04 lts

Dependências

sudo apt-get install gawk g++ libreadline6-dev zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison libffi-dev libxslt-dev libxml2-dev zlib1g-dev libgmp-dev build-essential

Instalar rvm

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
# while
while a < 4
puts a
a += 1
end
begin
puts a
a += 1
end while a < 4
a = 1
case a
when 1
puts 'a = 1'
when 2
puts 'a = 2'
else
puts '![1, 2]'
end