class Plato
Representa un plato (conjunto de alimentos)¶ ↑
Modo de uso¶ ↑
carne = Alimento.new(1,2,3,4,5,6) papas = Alimento.new(6,5,4,3,2,1) lista = List.new lista.insert(carne) lista.insert(papas) Plato.new("carne con papas", lista)
Attributes
nombre[R]
total_nutricional[R]
Public Class Methods
new(nombre,ingredientes)
click to toggle source
Construye un objeto Plato
# File lib/FoodImpact/plato.rb, line 17 def initialize(nombre,ingredientes) @nombre = nombre @ingredientes = ingredientes food = @ingredientes.head @total_nutricional = 0.0 while food != nil do @total_nutricional += food[:value].proteinas * (food[:value].gramos / 1000.0) @total_nutricional += food[:value].carbohidratos * (food[:value].gramos / 1000.0) @total_nutricional += food[:value].lipidos * (food[:value].gramos / 1000.0) food = food[:next] end end
Public Instance Methods
<=>(other)
click to toggle source
Permite comparar platos por su valor nutricional
# File lib/FoodImpact/plato.rb, line 86 def <=>(other) @total_nutricional <=> other.total_nutricional end
carbohidratos()
click to toggle source
Develve los carbohidratos del plato
# File lib/FoodImpact/plato.rb, line 42 def carbohidratos food = @ingredientes.head carbos = 0.0 while food != nil do carbos += food[:value].carbohidratos * (food[:value].gramos / 1000.0) food = food[:next] end carbos * (100.0 / @total_nutricional) end
kcalorias()
click to toggle source
Devuelve las kilocalorías del plato
# File lib/FoodImpact/plato.rb, line 64 def kcalorias food = @ingredientes.head calorias = 0.0 while food != nil do calorias += food[:value].valor_energetico food = food[:next] end calorias end
lipidos()
click to toggle source
Devuelve los lipidos del plato
# File lib/FoodImpact/plato.rb, line 53 def lipidos food = @ingredientes.head lipidos = 0.0 while food != nil do lipidos += food[:value].lipidos * (food[:value].gramos / 1000.0) food = food[:next] end lipidos * (100.0 / @total_nutricional) end
proteinas()
click to toggle source
Devuelve las proteinas del plato
# File lib/FoodImpact/plato.rb, line 31 def proteinas food = @ingredientes.head protein = 0.0 while food != nil do protein += food[:value].proteinas * (food[:value].gramos / 1000.0) food = food[:next] end protein * (100.0 / @total_nutricional) end
to_s()
click to toggle source
Devuelve el plato formateado
# File lib/FoodImpact/plato.rb, line 75 def to_s format = "#{nombre}: " food = @ingredientes.head while food != @ingredientes.tail do format += "#{food[:value].nombre}, " food = food[:next] end format += "#{@ingredientes.tail[:value].nombre}" end