Sorry für Neuling Frage. Ich versuche Pythons issuperset()
mit Scala KlasseWie zu implementieren Pythons issuperset() in Scala
Python Beispiel zu implementieren:
weighted_fruits_set = {"banana", "orange","apple"}
check = {"banana"}
weighted_fruits_set.issuperset(check)
Python Antworten: "True"
mein Scala Code unten, habe ich versucht contains
superset
aus der Liste der case class weightedFruits
zu finden und ich überprüfen, ob Zeichenkette "banana"
existiert in weightedFruits.name
:
object Learn extends App {
case class weightedFruits(name:List[String], weight:Double) {
override def toString = s"name: ${name.mkString("<", ",", ">")}, weight: $weight\n"
}
var weightedFruitsList = new scala.collection.mutable.ListBuffer[weightedFruits]()
weightedFruitsList += (
weightedFruits(List("banana","orange"),180),
weightedFruits(List("banana","orange","apple"),170),
weightedFruits(List("feijoa","fig"),201),
weightedFruits(List("banana","apple","melon"),165)
)
val check = weightedFruits(List("banana"),200)
weightedFruitsList += check
val item = weightedFruitsList(1)
val bol:Boolean = item.name.contains(check.name)
println("item: "+item)
println("check: "+check)
println("bool: "+bol)
}
Der Ausgang meines Codes ist false
(aber muss true
sein):
item: name: <banana,orange,apple>, weight: 170.0
check: name: <banana>, weight: 200.0
bool: false
Vielen Dank für jede Hilfe. Ich hoffe wirklich, meine Erklärung
Wie ich Ihre Fragen verstehe, bedeutet 'iuplperset': ' def f [A] (Liste1: Liste [A], list2: Liste [A]): Boolean 'wo' true' bedeutet, dass ' list1 'enthält alle' list2' Elemente und 'false' sonst? Also 'f (Liste (1,2,3), Liste (1)) === wahr', aber 'f (Liste (1,2,3), Liste (4)) === false'? –
'.contains' nimmt ein Element, keine Liste, in Ihrem Fall' List ("banana", "orange"). Enthält (List ("banana")) == false' –