class MenuGrupoAlimentos < Menu #Constructor de un MenuGrupoAlimentos. Recibe 10 parámetros. #[Parámetros:] # * titulo : DESAYUNO|MEDIA MAÑANA|ALMUERZO|MERIENDA|CENA # * porcentaje : Array de dos enteros # * desc : Array de cadenas la cuales son descripciones de los platos # * porc : Array de cadenas la cuales son porciones de los platos # * gramos : Array de enteros los cuales son los gramos de cada plato # * calorias : Flotante que representa el porcentaje de calorías del menu # * proteinas : Entero que representa el porcentaje de proteinas del menu # * grasas : Entero que representa el porcentaje de grasas del menu # * hidratos : Entero que representa el porcentaje de hidratos del menu # * grupoalimentos : String. verduras y otras hortalizas|leche, huevos, pescado, carne y frutos secos|cereales, legumbres y féculas|frutas def initialize(titulo="DESAYUNO",porcentaje=[0,0],desc=[""],porc=[""],gramos=[0],calorias=0.0,proteinas=0,grasas=0,hidratos=0,grupoalimentos="verduras y otras hortalizas",&block) if !block_given? super(titulo,porcentaje,desc,porc,gramos,calorias,proteinas,grasas,hidratos) #Grupo de alimentos regexp = /\s*(\w*)\s*(verduras y otras hortalizas|leche, huevos, pescado, carne y frutos secos|cereales, legumbres y féculas|frutas)\s*(\w*)\s*/ resultado = regexp.match(grupoalimentos) if (resultado == nil ) raise "Grupo de alimentos no válido" elsif ((resultado[1] != "") || (resultado[3] != "")) raise "Grupo de alimentos no válido" end @grupoalimentos = resultado else super(titulo,porcentaje,desc,porc,gramos,calorias,proteinas,grasas,hidratos,&block) end end #Metodo para representar el MenuGrupoAlimentos en un string. def to_s "#{super.to_s}\nGrupo de alimentos: #{@grupoalimentos}" end def alimentos(grupoalimentos) @grupoalimentos = grupoalimentos end end