It is also possible to match against the fields of anonymous structures and instances:
var myStructure = { name: "haxe", rating: "awesome" }; var value = switch (myStructure) { case {name: "haxe", rating: "poor"}: throw false; case {rating: "awesome", name: n}: n; case _: "no awesome language found"; } trace(value); // haxe
In the second case we bind the matched name field to identifier n if rating matches "awesome". Of course this structure could also be put into the Tree from the previous example to combine structure and enum matching.