class Alimento
Esta clase permite representar la información básica de un alimento dado, sus proteinas, glúcidos y lípidos además, calcula el índice calórico del mismo.
- Author
-
Alberto González (alu0100949568@ull.edu.es)
- Copyright
-
Cretive Commons
- License
-
Distributes under the same terms as Ruby
Attributes
cal_index[R]
gluc[R]
lip[R]
nom[R]
prot[R]
Public Class Methods
new(nom, prot, gluc, lip, gluc_data = nil)
click to toggle source
Se asigna el nombre y la información nutricional del alimento
# File lib/P06/alimento.rb, line 12 def initialize(nom, prot, gluc, lip, gluc_data = nil) @nom = nom @prot = prot @gluc = gluc @lip = lip @gluc_data = gluc_data @cal_index = (@prot.to_f*4 + @gluc.to_f*4 + @lip.to_f*9).round(2) end
Public Instance Methods
aibc()
click to toggle source
Calcula el área bajo la curva para los datos tomados en una medición de glucosa en intervalos de tiempo de 5 minutos
# File lib/P06/alimento.rb, line 33 def aibc @gluc_data.map{|indv| zero = indv.at(0); prev = -2; indv.map{|index| prev = prev + 1; ((index-zero) + (indv.at(not_negative(prev))-zero))*2.5}.reduce(:+).round(2)} end
not_negative(n)
click to toggle source
Se comprueba que no sea un valor negativo, en caso de serlo, se sustituye por un 0
# File lib/P06/alimento.rb, line 28 def not_negative(n) n < 0 ? n = 0 : n = n end
to_s()
click to toggle source
Muestra la información de un alimento en concreto
# File lib/P06/alimento.rb, line 22 def to_s #El huevo frito tiene 14.1 proteinas, 0.0 glúcidos, 19.5 lípidos " #{@nom}: #{@prot} proteinas, #{@gluc} glúcidos, #{@lip} lípidos, #{@cal_index} calorías" end