TL ; DR:
buf.contains(x) is true when the ArrayBuffer holds x, and false when it doesn't. Use it as the condition of an if.
val colors = scala.collection.mutable.ArrayBuffer("red", "green", "blue")
println(colors.contains("red")) // true
println(colors.contains("pink")) // false
if (!colors.contains("pink")) {
println("No pink yet")
}
Full lesson:
Often you need to know if an ArrayBuffer holds some value. Is this name on the guest list? Is this item in the cart?
contains(x) answers that. It compares each item with x, from the first one on. It returns true as soon as one matches, or false if none does.
Put ! in front for the opposite. So !colors.contains(x) is true when x is missing.
The answer is a Boolean, so it fits right into an if:
val cart = scala.collection.mutable.ArrayBuffer("milk", "bread")
if (cart.contains("milk")) {
println("Milk is in the cart")
}
Scala has no in keyword for this. Ask the collection itself with contains.
Text must match exactly. So colors.contains("Red") is false, because the ArrayBuffer has "red".
Your task
bag holds what is packed for a hike.
If "water" is in bag, print Water is packed. If "tent" is not in bag, print Pack a tent.
Expected output:
Water is packed
Pack a tentFree plan: 30 tutor messages. PRO is unlimited.
