class Alimento

Esta clase permite representar a un alimento con sus porteinas, glucidos y grasas correspondientes. Tambien se puede sacar las calorias de los alimentos con las proteinas, glucidos y grasas.

Attributes

glucidos[R]
grasas[R]
nombre[R]
proteinas[R]

Public Class Methods

new(nombre,proteinas,glucidos,grasas,individuos) click to toggle source

Se asigna el nombre del alimento, las proteinas, los glucidos y las grasas.

# File lib/P06/alimento.rb, line 13
def initialize(nombre,proteinas,glucidos,grasas,individuos)
        @nombre = nombre
        @proteinas = proteinas
        @glucidos = glucidos
        @grasas = grasas
        @cal
        @individuos = individuos
end

Public Instance Methods

AIBC() click to toggle source

Este metodo me calcula el AIBC. Se ha aplicado la programacion funcional.

# File lib/P06/alimento.rb, line 49
def AIBC
        @individuos.map{|i| g=i.first; pos=-1; i.map{|j| prev=neg(pos,i); pos=pos+1; (((j-g)+(prev-g))*2.5)}.reduce(:+).round(2)}
end
calorias() click to toggle source

Este metodo calcula las calorias del alimento según las proteinas, los glucidos y las grasas del alimento.

# File lib/P06/alimento.rb, line 36
def calorias
        @cal = (4*@proteinas)+(4*@glucidos)+(9*@grasas)
end
formateado() click to toggle source

Este metodo muestra al alimento formateado.

# File lib/P06/alimento.rb, line 28
def formateado
        print "Nombre: ",@nombre,"\t","Proteínas: ",@proteinas,"\t","Glúcidos: ",@glucidos,"\t","Grasas: ",@grasas
        puts
end
neg(pos,gluc) click to toggle source

Este metodo lo que hace es devolverme el valor correspondiente dependiendo de la posicion en la que me encuentre en el vector, esto lo hago para que no me acceda a la posicion -1.

# File lib/P06/alimento.rb, line 43
def neg(pos,gluc)
        pos < 0 ? gluc[0] : gluc[pos]
end
to_s() click to toggle source

Este es el metodo to_s que muestra al alimento por pantalla.

# File lib/P06/alimento.rb, line 23
def to_s
        "El alimento #{@nombre} tiene #{@proteinas} gramos de proteínas, #{@glucidos} gramos de glúcidos, #{@grasas} gramos de lípidos y #{calorias} calorías"
end