Class: Alimento
- Inherits:
-
Object
- Object
- Alimento
- Includes:
- Comparable
- Defined in:
- lib/practica/practica6.rb
Overview
La clase Alimento se usar para la definicion de los diferentes alimentos y sus propiedades
Instance Attribute Summary collapse
-
#carbohidratos ⇒ Object
readonly
Returns the value of attribute carbohidratos.
-
#gei ⇒ Object
readonly
Returns the value of attribute gei.
-
#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.
-
#terreno ⇒ Object
readonly
Returns the value of attribute terreno.
Instance Method Summary collapse
-
#<=>(other) ⇒ Object
Operador <=> en funcion del valor energetico.
-
#==(other) ⇒ Object
Operador de comparacion.
-
#get_alimento ⇒ Object
Metodo que devuelve el objeto en formato vector.
-
#get_GEI ⇒ Object
Getter del atrito @gei.
-
#get_name ⇒ Object
Getter del atributo @nombre.
-
#get_terreno ⇒ Object
Getter del atributo @terreno.
-
#get_valE ⇒ Object
Metodo que devuelve el equivalente energetico del aliemnto (kcal).
-
#initialize(nombre, proteinas, carbohidratos, lipidos, gei, terreno) ⇒ Alimento
constructor
Constructor que recibe como parametros el nombre,proteinas,carbohidratos,lipidos, gei y terreno del alimento.
-
#to_s ⇒ Object
Metodo que devuelve el objeto formateado en string.
Constructor Details
#initialize(nombre, proteinas, carbohidratos, lipidos, gei, terreno) ⇒ Alimento
Constructor que recibe como parametros el nombre,proteinas,carbohidratos,lipidos, gei y terreno del alimento
5 6 7 8 9 10 11 12 13 |
# File 'lib/practica/practica6.rb', line 5 def initialize(nombre,proteinas,carbohidratos,lipidos,gei,terreno) # Constructor que recibe como parametros el nombre,proteinas,carbohidratos,lipidos, gei y terreno del alimento @nombre=nombre.to_s @proteinas=proteinas.to_f @carbohidratos=carbohidratos.to_f @lipidos=lipidos.to_f @gei=gei.to_f @terreno=terreno.to_f end |
Instance Attribute Details
#carbohidratos ⇒ Object (readonly)
Returns the value of attribute carbohidratos.
3 4 5 |
# File 'lib/practica/practica6.rb', line 3 def carbohidratos @carbohidratos end |
#gei ⇒ Object (readonly)
Returns the value of attribute gei.
3 4 5 |
# File 'lib/practica/practica6.rb', line 3 def gei @gei end |
#lipidos ⇒ Object (readonly)
Returns the value of attribute lipidos.
3 4 5 |
# File 'lib/practica/practica6.rb', line 3 def lipidos @lipidos end |
#nombre ⇒ Object (readonly)
Returns the value of attribute nombre.
3 4 5 |
# File 'lib/practica/practica6.rb', line 3 def nombre @nombre end |
#proteinas ⇒ Object (readonly)
Returns the value of attribute proteinas.
3 4 5 |
# File 'lib/practica/practica6.rb', line 3 def proteinas @proteinas end |
#terreno ⇒ Object (readonly)
Returns the value of attribute terreno.
3 4 5 |
# File 'lib/practica/practica6.rb', line 3 def terreno @terreno end |
Instance Method Details
#<=>(other) ⇒ Object
Operador <=> en funcion del valor energetico
47 48 49 50 |
# File 'lib/practica/practica6.rb', line 47 def <=> (other) # Operador <=> en funcion del valor energetico return nil unless other.instance_of? Alimento # retornamos nil en caso de que el objeto a comparar no sea una instancia de Alimento get_valE <=> other.get_valE end |
#==(other) ⇒ Object
Operador de comparacion
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/practica/practica6.rb', line 36 def == (other) # Operador de comparacion if other.instance_of? Alimento # verificamos que el otro objeto sea una instancia de Alimento @nombre == other.nombre && @proteinas == other.proteinas && @carbohidratos==other.carbohidratos && @lipidos==other.lipidos && @gei==other.gei && @terreno==other.terreno #retornamos true si todos y cada uno de los atributos son iguales elsif #retornamos false en caso de que al menos uno sea diferente false end end |
#get_alimento ⇒ Object
Metodo que devuelve el objeto en formato vector
29 30 31 32 |
# File 'lib/practica/practica6.rb', line 29 def get_alimento # Metodo que devuelve el objeto en formato vector comida = [@proteinas,@carbohidratos,@lipidos,@gei,@terreno] return comida end |
#get_GEI ⇒ Object
Getter del atrito @gei
19 20 21 |
# File 'lib/practica/practica6.rb', line 19 def get_GEI # Getter del atrito @gei return @gei end |
#get_name ⇒ Object
Getter del atributo @nombre
15 16 17 |
# File 'lib/practica/practica6.rb', line 15 def get_name # Getter del atributo @nombre return @nombre end |
#get_terreno ⇒ Object
Getter del atributo @terreno
23 24 25 |
# File 'lib/practica/practica6.rb', line 23 def get_terreno # Getter del atributo @terreno return @terreno end |
#get_valE ⇒ Object
Metodo que devuelve el equivalente energetico del aliemnto (kcal)
33 34 35 |
# File 'lib/practica/practica6.rb', line 33 def get_valE # Metodo que devuelve el equivalente energetico del aliemnto (kcal) return(@proteinas*4 + @carbohidratos*9 + @lipidos*4).round(2) end |
#to_s ⇒ Object
Metodo que devuelve el objeto formateado en string
26 27 28 |
# File 'lib/practica/practica6.rb', line 26 def to_s # Metodo que devuelve el objeto formateado en string return "#{@nombre},#{@proteinas},#{@carbohidratos},#{@lipidos},#{@gei},#{@terreno}" end |