Ben Edwards
08/24/2022, 12:07 PM*fun* dropLoot(name: String): Boolean {
*for* (item *in inventory*) {
*if* (item.*name* == name) {
*inventory*.remove(item)
return true
}
}
return false
}
I would do
*fun* dropLoot(name: String): Boolean {
*var* ret = *false*
*for* (item *in inventory*) {
*if* (item.*name* == name) {
*inventory*.remove(item)
ret = *true*
break
}
*return* ret
}
What do people think?marstran
08/24/2022, 12:11 PMBen Edwards
08/24/2022, 12:13 PMmarstran
08/24/2022, 12:14 PMfun dropLoot(name: String): Boolean {
for (item in inventory) {
if (item.name == name) {
inventory.remove(item)
return true
}
}
return false
}
August Lilleaas
08/24/2022, 12:15 PMBen Edwards
08/24/2022, 12:15 PMmarstran
08/24/2022, 12:15 PMAugust Lilleaas
08/24/2022, 12:17 PMinventory
Ben Edwards
08/24/2022, 12:18 PMAugust Lilleaas
08/24/2022, 12:19 PMfun dropLoot(name: String): Boolean {
return inventory.removeIf { it.name == name }
}
Sam
08/24/2022, 12:19 PMAugust Lilleaas
08/24/2022, 12:20 PMBen Edwards
08/24/2022, 12:21 PMSam
08/24/2022, 12:24 PM<https://kotlinlang.slack.com/archives/C4GKV43N2/p1661343206896469?thread_ts=1661342879.769889&cid=C4GKV43N2
|I hit return too early>glorious irony
Ben Edwards
08/24/2022, 12:25 PM*inventory*._removeAll_ *{ it*.*name* == name *}
with* mutableListOf rather than ListArray.removeIfTom Yuval
08/26/2022, 1:43 PMvar
.return
in the first place. This doesn’t seem to me like something that increases readability or maintainability. I guess it’s not impossible for there to be some good arguments for it, but whatever negative aspect there might be to multiple `return`s I guess it’s at least as bad when returning a var
.)