Class: Alimento_
Overview
Esta clase permite representar un alimento.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#datos ⇒ Object
Returns the value of attribute datos.
-
#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
-
#<=>(another) ⇒ Object
Sobrecarga del metodo <=> para que un Alimento_ se compare con otro a través de su valor ennergético.
-
#aibc(indice) ⇒ Object
Funcion para calcular el AIBC de forma funcional.
-
#initialize(nombre, proteinas, lipidos, glucidos) ⇒ Alimento_
constructor
Constructor al que se le pasa el nombre del alimmento, cantidad de proteinas, cantidad de lipidos y cantidad de glucidos.
-
#to_s ⇒ Object
Metodo para mostrar formateado: =>formato= Nombre del alimento nºproteinas nºglucido nºlipidos.
-
#valor_energetico ⇒ Object
Metodo para calcular el valor energético de un alimento: =>Valor energetico=proteinas*4+glucidos*4+lipidos*9.
Constructor Details
#initialize(nombre, proteinas, lipidos, glucidos) ⇒ Alimento_
Constructor al que se le pasa el nombre del alimmento, cantidad de proteinas, cantidad de lipidos y cantidad de glucidos
18 19 20 21 22 23 |
# File 'lib/food/food_.rb', line 18 def initialize(nombre, proteinas, lipidos, glucidos) @nombre=nombre @proteinas=proteinas @lipidos=lipidos @glucidos=glucidos end |
Instance Attribute Details
#datos ⇒ Object
Returns the value of attribute datos.
15 16 17 |
# File 'lib/food/food_.rb', line 15 def datos @datos end |
#glucidos ⇒ Object (readonly)
Returns the value of attribute glucidos.
14 15 16 |
# File 'lib/food/food_.rb', line 14 def glucidos @glucidos end |
#lipidos ⇒ Object (readonly)
Returns the value of attribute lipidos.
14 15 16 |
# File 'lib/food/food_.rb', line 14 def lipidos @lipidos end |
#nombre ⇒ Object (readonly)
Returns the value of attribute nombre.
14 15 16 |
# File 'lib/food/food_.rb', line 14 def nombre @nombre end |
#proteinas ⇒ Object (readonly)
Returns the value of attribute proteinas.
14 15 16 |
# File 'lib/food/food_.rb', line 14 def proteinas @proteinas end |
Instance Method Details
#<=>(another) ⇒ Object
Sobrecarga del metodo <=> para que un Alimento_ se compare con otro a través de su valor ennergético.
38 39 40 41 |
# File 'lib/food/food_.rb', line 38 def <=> another return nil unless another.is_a? Alimento_ self.valor_energetico <=> another.valor_energetico end |
#aibc(indice) ⇒ Object
Funcion para calcular el AIBC de forma funcional.
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/food/food_.rb', line 44 def aibc(indice) vector = [] datos[indice][1..datos[indice].length-1].zip(datos[indice][0..datos[indice].length-2]) do | gi, gi_1 | if gi < datos[indice][0] vector << 0.0 else vector << (((gi-datos[indice][0])+(gi_1-datos[indice][0]))/2)*5 end end vector.reduce(:+) end |
#to_s ⇒ Object
Metodo para mostrar formateado:
>formato= Nombre del alimento nºproteinas nºglucido nºlipidos
27 28 29 |
# File 'lib/food/food_.rb', line 27 def to_s "#{@nombre}\t#{@proteinas}\t#{@glucidos}\t#{@lipidos}" end |
#valor_energetico ⇒ Object
Metodo para calcular el valor energético de un alimento:
>Valor energetico=proteinas*4+glucidos*4+lipidos*9.
33 34 35 |
# File 'lib/food/food_.rb', line 33 def valor_energetico (@proteinas*4) + (@glucidos*4) + (@lipidos*9) end |