Ich möchte Tupel in einem Satz von ersten zwei Werte finden und dritten Wert des Tupel (oder keine, wenn nichts gefunden) zurückgeben. Ich woluld so etwas wie:Get Element aus Menge von Tupel in F #
type Point = (int * int * int)
type Path = Set<Point>
let f (x:int) (y:int) (p:Path) : int Option =
if Set.exists ((=) (x, y, _z)) p
then Some _z
else None
let p:Path = Set.ofList [ (0, 1, 100); (1, 1, 500); (1, 2, 50); ]
f 1 2 p
Aber dies nicht funktioniert, weil offenbar, Pattern-Matching in Ausdrücken nicht erlaubt ist. Was ist der richtige Ansatz? Vielen Dank.
Was ist falsch an einem zweistufigen Ansatz? –
Was ist '_z' ..? – ildjarn
@John Palmer Was meinst du? Finden Sie zuerst das Tupel und zweitens den Wert daraus? – Feofilakt