Class: Comida
Overview
Esta clase permite representar un alimento con sus valores energeticos y un calculo del mismo Contiene metodos para el manejo de la misma facilmente. Se ha incluido el mixin Comparable.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#comida ⇒ Object
readonly
Permite acceder a los atributos de la clase en forma de lectura.
-
#glucidos ⇒ Object
readonly
Permite acceder a los atributos de la clase en forma de lectura.
-
#lipidos ⇒ Object
readonly
Permite acceder a los atributos de la clase en forma de lectura.
-
#proteina ⇒ Object
readonly
Permite acceder a los atributos de la clase en forma de lectura.
Instance Method Summary collapse
-
#<=>(other) ⇒ Object
Se define como una comparacion de dos objetos a través de su valor energético.
-
#initialize(nombre, proteinas, glucidos, lipidos) ⇒ Comida
constructor
Se asignan los valores del alimento a sus atributos.
-
#to_s ⇒ Object
Permite formatear la salida por pantalla.
-
#valorEnergetico ⇒ Object
Calcula el valor energético del alimento.
Constructor Details
#initialize(nombre, proteinas, glucidos, lipidos) ⇒ Comida
Se asignan los valores del alimento a sus atributos
13 14 15 16 17 18 19 |
# File 'lib/Alimento/Comida.rb', line 13 def initialize(nombre, proteinas, glucidos, lipidos) @comida = nombre @proteina = proteinas @glucidos = glucidos @lipidos = lipidos end |
Instance Attribute Details
#comida ⇒ Object (readonly)
Permite acceder a los atributos de la clase en forma de lectura. Actuan como “getters”.
8 9 10 |
# File 'lib/Alimento/Comida.rb', line 8 def comida @comida end |
#glucidos ⇒ Object (readonly)
Permite acceder a los atributos de la clase en forma de lectura. Actuan como “getters”.
8 9 10 |
# File 'lib/Alimento/Comida.rb', line 8 def glucidos @glucidos end |
#lipidos ⇒ Object (readonly)
Permite acceder a los atributos de la clase en forma de lectura. Actuan como “getters”.
8 9 10 |
# File 'lib/Alimento/Comida.rb', line 8 def lipidos @lipidos end |
#proteina ⇒ Object (readonly)
Permite acceder a los atributos de la clase en forma de lectura. Actuan como “getters”.
8 9 10 |
# File 'lib/Alimento/Comida.rb', line 8 def proteina @proteina end |
Instance Method Details
#<=>(other) ⇒ Object
Se define como una comparacion de dos objetos a través de su valor energético.
34 35 36 37 38 |
# File 'lib/Alimento/Comida.rb', line 34 def <=>(other) if(other.instance_of? Comida) valorEnergetico <=> other.valorEnergetico end end |
#to_s ⇒ Object
Permite formatear la salida por pantalla.
22 23 24 |
# File 'lib/Alimento/Comida.rb', line 22 def to_s "#{comida}, #{proteina}, #{glucidos}, #{lipidos}" end |
#valorEnergetico ⇒ Object
Calcula el valor energético del alimento
27 28 29 30 |
# File 'lib/Alimento/Comida.rb', line 27 def valorEnergetico aux=0 aux = ( (@proteina*4) + (@lipidos*9) + (@glucidos*4) ) end |