#kotlin #set
Вопрос:
У меня есть этот класс данных, внутри которого есть функция, и я хочу использовать эту функцию для добавления элемента в набор классов данных, но я не уверен, как его вызвать.
Это и есть код:
data class House(val article: MutableSet<Article>){
//only add articles if there are less than 10
fun addArticle(article: Article): Boolean{
if(articles.size <= 10){
articles.add(article)
return true
} else {
return false
}
}
}
data class Article(val type: String,
var color: String)
val article1 = Article("bed", "black")
val article2 = Article("sheets", "white")
val articlesToAdd = House(mutableSetOf(article1, article2))
//add articles to house: THIS DOESN'T WORK
articlesToAdd.forEach{
it.house.addVehicle()
}
Итак, я хочу иметь возможность добавлять статьи в свой дом с помощью функции addArticle внутри дома класса данных, но то, как я думал об этом, не работает. Любая помощь была бы очень признательна.
Ответ №1:
articlesToAdd
имеет тип House
, поэтому у него нет метода forEach
. Вот пример, который добавляет еще один Article
.
val article1 = Article("bed", "black")
val article2 = Article("sheets", "white")
val articles = mutableSetOf(article1, article2)
val house = House(articles)
house.addArticle( Article("bed", "red"))
Комментарии:
1. Спасибо за ответ, но как я могу это сделать, пока не передавая статьи (так как я могу добавить только ограничение в 20, и если я сначала добавлю их дома, они уже пройдены, и я не могу добавить статью).