ich eine Art von Satz und Gewerkschaftsfunktion alsscala durch den Satz Typ mit Bedingung Iterieren
type Set = Int => Boolean
def union(s: Set, t: Set): Set = (e: Int) => s(e) || t(e)
val xs = Set(12001,12002, 12003, 12004)
val ys = Set(13001,13002, 13003, 13004)
folgen Wenn ich die Vereinigungsoperation verwenden,
union(xs,ys)
Es sollte mir noch einen Satz zurück, die all enthält die Elemente beider Sätze xs
und ys
Edited Section:
Es tut mir leid ich auf meine Frage nicht klar war, ich habe meine eigene Implementierung des Iterators für beide Set xs und ys
var i = xs.iterator;
while(i.hasNext)
println(i.next())
Aber ich war bei dieser Implementierung nicht zufrieden und stellte fest, dass Sie kann die Bedingung mit der Funktion implementieren (nach einigem googlen), aber ich konnte es nicht in meinem Eclipse-Arbeitsblatt zum Laufen bringen.
val rs = union(xs,ys) //> rs : Learn2.Set = <function1>
Ich vermute, es gibt eine Funktion zurück.
so meine Fragen, 1. ist es möglich, wie oben im bearbeiteten Abschnitt beschrieben zu implementieren? Wenn ja, was fehlt mir, damit es funktioniert? 2. Ich verstehe nicht, wie das Element e
in (e: Int) => s(e) || t(e)
wird in beiden Sätzen über die Elemente iteriert
Ihre Vereinigungsfunktion scheint gut zu funktionieren. Was wäre deine Verwirrung? –
Was ist dein tatsächliches Problem? –
Ihr Vorschlag klingt richtig. :-) – stefanobaghino