Table des matières

Ruby : les bases

Tout ce qui concerne spécifiquement le Framework Rails

Les tableaux

Voir la page consacrée aux tableaux

Les dictionnaires

Voir la page consacrée aux dictionnaires

Range

Énumérations

Si l'on considère que menu est un Hash, la méthode Restaurant#cost

class Restaurant
  def initialize(menu)
    @menu = menu
  end
 
  def cost(*orders)
    # parcourt orders pour calculer total_cost
    orders.inject(0) do |total_cost, order|
      # pour chaque key d'un order, on ajoute order[key] * menu[key] à cost
      total_cost + order.keys.inject(0) {|cost, key| cost + @menu[key]*order[key] }
    end
  end
end
# renvoie un tableau contenant tous les éléments de values non doublonnés. Permet donc de dédoublonner un tableau
values.find_all { |x| values.count(x) == 1 }
for i in RANGE
...
end
 
# même résultat mais plus Rubyesque
RANGE.each do |i|
...
end

Object

String

Voir la page consacrée aux Strings