Хорошо, ребята, я изучаю рубин, и у меня немного проблемы с учебником. Мне было интересно, не могли бы вы мне помочь!Классы в Ruby - Создание параметров, которые будут принимать несколько входов
Возьмем следующий код:
class Dish
def initialize(name, ingred, descrip)
@name = name
@ingred = ingred
@descrip = descrip
end
def name
@name
end
def name=(new_name)
@name = new_name
end
def ingred
@ingred
end
def ingred=(new_ingred)
@ingred = new_ingred
end
def descrip
@descrip
end
def descrip=(new_descrip)
@descrip = new_descrip
end
def display
puts "I am a #{@name} and my ingredient is #{@ingred} and my description is #{descrip}"
end
end
dis1 = Dish.new('Pizza', 'sauce', 'put sauce on that thing')
dis1.display
Ok так вот мой вопрос, и я надеюсь, что объяснить это достаточно хорошо. До сих пор я научился вводить один параметр при создании нового экземпляра класса (т. Е. (Имя, состав, дескрипт)). Мне интересно, есть ли в блюде несколько ингредиентов, как бы добавить это к моему классу? Кроме того, если бы я хотел подсчитать количество ингредиентов или количество имен, как бы я это сделал. Я просто изучаю классы, и у меня возникают проблемы с точной формулировкой, в которой я бы использовал Google. Благодаря!
Первой мыслью, которую я имел, было бы сделать ингредиенты массивом или хеш-объектом. Каждый объект может быть также сбор информации, например, название ингредиента (ключ, если это «хэш»), сколько на порцию и т. Д. Количество ингредиентов будет просто '@ components.size'. Вы можете легко добавить или удалить ингредиенты. – lurker