Sha256: 2ef800e303dcc0efdc50c906e79affad8cc0c92173b1677cef7bbfcc9f870b4c

Contents?: true

Size: 1.02 KB

Versions: 3

Compression:

Stored size: 1.02 KB

Contents

# Esta clase permite calcular el indice glucémico de un alimento.
# Hereda de la clase comida.
class IndiceGlucemico < Comida

    # Permite acceder a los atributos de la clase en forma de lectura.
    attr_reader :dat

    # Crea el vector con el contenido y llama a su clase padre.
    def initialize (nombre, proteinas, glucidos, lipidos, vector)
        super(nombre, proteinas, glucidos, lipidos)
        @dat = vector
    end

    # Permite formatear la salida por pantalla.
    def to_s
        super.to_s +  ", " + "#{dat}"
    end

    def aibc
        @dat.collect do |ind|
            ind.zip(1..ind.size).collect do |val, index|
                if ((index == ind.size) || (ind[index] < ind[0]))
                    0.0
                else
                    (((ind[index] - ind[0]) + (ind[index-1] - ind[0] )) / 2)*5
                end
            end.reduce('+')
        end
    end

    def indiceg(other)
        (((self.aibc).zip(other.aibc)).collect {|v1 , v2|  ((v1 / v2) * 100)}.reduce('+')) / ((self.aibc).size)
    end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
comiditaULL-0.1.1 lib/Alimento/IndiceGlucemico.rb
comidita_ull-0.1.1 lib/Alimento/IndiceGlucemico.rb
comidita_ull-0.1.0 lib/Alimento/IndiceGlucemico.rb