Sha256: 8c343304eef7c9b001f44a2f1df534184a2f651c845b796ef3721421d7a955b7
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
module Alimento # Constante que representa el valor energético que se obtiene de los glúcidos de un alimento VAL_EN_GLUCIDOS = 4 # Constante que representa el valor energético que se obtiene de los lípidos de un alimento VAL_EN_LIPIDOS = 9 # Constante que representa el valor energético que se obtiene de las proteinas de un alimento VAL_EN_PROTEINAS = 4 class Alimentos include Comparable attr_reader :nombre, :proteinas, :glucidos, :lipidos # Se asigna el nombre, y la cantidad de proteínas, glúcidos y lípidos del alimento def initialize(nombre, proteinas, glucidos, lipidos) @nombre = nombre @proteinas = proteinas @glucidos = glucidos @lipidos = lipidos end # Operador de salida de la clase alimento. # Muestra el alimento con formato: # Nombre Cantidad_de_Proteínas Cantidad_de_glúcidos Cantidad_de_lípidos # Ej: Huevos fritos 14.1 0.0 19.5 def to_s "#{@nombre}\t#{@proteinas}\t#{@glucidos}\t#{@lipidos}" end # Calcula y devuelve el valor energético del alimento def calcValEn (@proteinas * VAL_EN_PROTEINAS) + (@glucidos * VAL_EN_GLUCIDOS) + (@lipidos * VAL_EN_LIPIDOS) end # Incluido para poder utilizar los métodos del mixin Comparable def <=>(another) compare = calcValEn <=> another.calcValEn if compare == 0 return @nombre <=> another.nombre else return compare end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
alimento-alu0100948226-0.1.0 | lib/alimento/alimentos.rb |