class Alimentos

@author Yeray Expósito García La clase Alimentos permite almacenar los datos a nivel nutricional de un alimento, hallar su valor energético y compararlos.

Attributes

datos_IG[RW]
glucidos[R]
lipidos[R]
nombre[R]
proteinas[R]

Public Class Methods

new(name,protein,glucids,lipids) click to toggle source

Metodo que permite declarar e inicializar las variables de instancia.

@param name nombre del alimento @param protein Contiene la cantidad de proteinas del alimento. @param glucids Contiene la cantidad de glúcidos del alimento. @param lipids Contiene la cantidad de lípidos del alimento.

# File lib/practica_6/Alimentos.rb, line 16
def initialize(name,protein,glucids,lipids)
   @nombre = name
   @proteinas = protein
   @glucidos = glucids
   @lipidos = lipids
end

Public Instance Methods

<=>(other) click to toggle source

El método <=> se encarga de poner en práctica los operadores convencionales de comparación ( <, <=, ==, >=, y >) y el método between?

@param other Representa al objeto situado a la derecha del operador en una comparación @return Un valor numérico (-1,0,+1) dependiendo de si el receptor es menor, igual o mayor que el otro objeto.

# File lib/practica_6/Alimentos.rb, line 42
def <=>(other)
   valor_energetico <=> other.valor_energetico
end
==(other) click to toggle source

El método == ofrece una forma específica de aplicar el operador ==

@param other Representa al objeto situado a la derecha del operador en una comparación

# File lib/practica_6/Alimentos.rb, line 49
def ==(other)
   @nombre == other.nombre
end
aibc() click to toggle source

Método para calcular el Área incremental bajo la curva (AIBC) de un alimento o de la glucosa.

@return Devuelve un vector con los resultados del AIBC de cada individuo.

# File lib/practica_6/Alimentos.rb, line 26
def aibc
   
   almacen=Array.new
   datos_IG.each do |x|
      almacen<<[]
      x.each_cons(2){ |val|  almacen.last<<((val[1]-x[0]+val[0]-x[0])/2)*5 } 
   end
   
   almacen.map{ |x| (x.reduce :+).round(2) }
end
to_s() click to toggle source

El método to_s se encarga de formatear la salida cuando intentamos visualizar un objeto

@return [string] En el que se representan las variables de instancia del objeto.

# File lib/practica_6/Alimentos.rb, line 56
def to_s
   "Nombre del alimento: #{@nombre}  Proteínas: #{@proteinas}g  Glúcidos: #{@glucidos}g  Lípidos: #{@lipidos}g"
end
valor_energetico() click to toggle source

El método valor_energetico se encarga de calcular el valor energético de un alimento en función de de @proteinas, @glucidos y @lipidos.

@return Un valor numérico que representa el valor energético del alimento.

# File lib/practica_6/Alimentos.rb, line 63
def valor_energetico
   @glucidos*4 + @lipidos*9 + @proteinas*4
end