Ruby é uma linguagem dinâmica e de código aberto focada em simplicidade e produtividade, com sintaxe elegante e fácil de ler. Tudo em Ruby é um objeto e a linguagem suporta classes, módulos, blocos e métodos dinâmicos. Ferramentas como IRB, rubygems e frameworks de teste facilitam o desenvolvimento em Ruby.
2. O que é Ruby?
"Uma linguagem dinâmica, open source com foco na
simplicidade e na produtividade. Tem uma sintaxe elegante de
leitura natural e fácil escrita."
14. method_missing
def method_missing(method_id, *arguments)
if match = matches_dynamic_finder?(method_id)
finder = determine_finder(match)
attribute_names = extract_attribute_names_from_match(match)
# ....
end
def matches_dynamic_finder?(method_id)
/^find_(all_by|by)_([_a-zA-Z]w*)$/.match(method_id.to_s)
end
http://dev.rubyonrails.org/browser/trunk/activerecord/lib/active_record/base.rb?
rev=9235
19. Listas e Hashes
a = [1,2,3]
a << 4
=> [1, 2, 3, 4]
b = {:um => 1, :dois => 2, :tres => 3}
b["quatro"] = 4
20. Listas e Hashes
a = [1, 2, 3, 4, 5]
a.each {|n| puts n} # itera na lista
b = a.select {|n| n.even?} # seleciona elementos na lista
=> [2, 4]
def fatorial(n)
(2..n).inject(1) { |result, i| result *= i}
end
21. Listas e Hashes
a = {1 => "Renato" , 2 => "Andre"}
a.each do |key, name|
puts key
if name.end_with "o"
puts name.upcase
else
puts name.downcase
end
end