Class: Alimentos
Overview
La clase Alimentos permite almacenar los datos a nivel nutricional de un alimento, hallar su valor energético y compararlos.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#datos_IG ⇒ Object
Returns the value of attribute datos_IG.
-
#glucidos ⇒ Object
readonly
Returns the value of attribute glucidos.
-
#lipidos ⇒ Object
readonly
Returns the value of attribute lipidos.
-
#nombre ⇒ Object
readonly
Returns the value of attribute nombre.
-
#proteinas ⇒ Object
readonly
Returns the value of attribute proteinas.
Instance Method Summary collapse
-
#<=>(other) ⇒ Object
Un valor numérico (-1,0,+1) dependiendo de si el receptor es menor, igual o mayor que el otro objeto.
- #==(other) ⇒ Object
-
#aibc ⇒ Object
Método para calcular el Área incremental bajo la curva (AIBC) de un alimento o de la glucosa.
-
#initialize(name, protein, glucids, lipids) ⇒ Alimentos
constructor
A new instance of Alimentos.
-
#to_s ⇒ string
En el que se representan las variables de instancia del objeto.
-
#valor_energetico ⇒ Object
Un valor numérico que representa el valor energético del alimento.
Constructor Details
#initialize(name, protein, glucids, lipids) ⇒ Alimentos
Returns a new instance of Alimentos
16 17 18 19 20 21 |
# File 'Alimentos.rb', line 16 def initialize(name,protein,glucids,lipids) @nombre = name @proteinas = protein @glucidos = glucids @lipidos = lipids end |
Instance Attribute Details
#datos_IG ⇒ Object
Returns the value of attribute datos_IG
8 9 10 |
# File 'Alimentos.rb', line 8 def datos_IG @datos_IG end |
#glucidos ⇒ Object (readonly)
Returns the value of attribute glucidos
7 8 9 |
# File 'Alimentos.rb', line 7 def glucidos @glucidos end |
#lipidos ⇒ Object (readonly)
Returns the value of attribute lipidos
7 8 9 |
# File 'Alimentos.rb', line 7 def lipidos @lipidos end |
#nombre ⇒ Object (readonly)
Returns the value of attribute nombre
7 8 9 |
# File 'Alimentos.rb', line 7 def nombre @nombre end |
#proteinas ⇒ Object (readonly)
Returns the value of attribute proteinas
7 8 9 |
# File 'Alimentos.rb', line 7 def proteinas @proteinas end |
Instance Method Details
#<=>(other) ⇒ Object
Returns Un valor numérico (-1,0,+1) dependiendo de si el receptor es menor, igual o mayor que el otro objeto.
42 43 44 |
# File 'Alimentos.rb', line 42 def <=>(other) valor_energetico <=> other.valor_energetico end |
#==(other) ⇒ Object
49 50 51 |
# File 'Alimentos.rb', line 49 def ==(other) @nombre == other.nombre end |
#aibc ⇒ Object
Método para calcular el Área incremental bajo la curva (AIBC) de un alimento o de la glucosa.
26 27 28 29 30 31 32 33 34 35 |
# File '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 ⇒ string
Returns En el que se representan las variables de instancia del objeto.
56 57 58 |
# File '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 ⇒ Object
Returns Un valor numérico que representa el valor energético del alimento.
63 64 65 |
# File 'Alimentos.rb', line 63 def valor_energetico @glucidos*4 + @lipidos*9 + @proteinas*4 end |