class Alimentos
Esta clase permite representar alimentos con sus distintos macronutrientres. Su desarrollo ha sido dirigido por pruebas (TDD). Se han incluido el mixin Comparable
- Author
-
Sergio Ferrera de Diego (sergioferrera1296@gmail.com)
- Copyright
-
Cretive Commons
- License
-
Distributes under the same terms as Ruby
Attributes
Public Class Methods
Método para asignar los datos del alimento
@param alimento nombre del alimento @param proteinas cantidad de proteinas del alimento @param glucidos cantidad de glucidos del alimento @param grasas cantidad de grasas del alimento
# File lib/prct06/alimentos.rb, line 33 def initialize(alimento,proteinas,glucidos,grasas) @alimento = alimento @proteinas = proteinas @glucidos = glucidos @grasas = grasas end
Public Instance Methods
Método para definir la forma en la que comparar instancias de la clase
# File lib/prct06/alimentos.rb, line 19 def <=>(other) valor_ener <=> other.valor_ener end
# File lib/prct06/alimentos.rb, line 23 def == (other) alimento == other.alimento end
Método para calcular el Área incremental bajo la curva (AIBC
) de un alimento o glucosa, dependiendo de que se le pase por parametro
@param mediciones vector que contiene mediciones de glucosa o de un alimento
# File lib/prct06/alimentos.rb, line 53 def AIBC aibc=Array.new g.each do |x| almacen=Array.new vec_2=(1..x.length-1).to_a.zip(x.drop(1)) vec_2.each{ |val| almacen<<(((val[1]-x[0]+x[val[0]-1]-x[0])/2)*5).round(2)} aibc<<(almacen.reduce :+) end aibc end
Método para definir la forma en la que mostrar los datos del alimento
# File lib/prct06/alimentos.rb, line 41 def to_s "(#{@alimento}, #{@proteinas}, #{@glucidos}, #{@grasas})" end
Método para calcular el valor energetico del alimento
# File lib/prct06/alimentos.rb, line 46 def valor_ener (@glucidos*4) + (@grasas*9) + (@proteinas*4) end