On 05/24/2016 10:52 PM, Nick Coghlan wrote:
Using the running demo:
def demo(arg): given arg: case x, y, *_: # Tuple matching (implicit name binding) ... case (.x, .y) as p, q: # Attribute matching ... case (["x"], ["y"]) as p, q: # Item matching ... case (.x) as p and isinstance(p, int): # Match + condition ... case if isinstance(arg, int): # Condition only ... else: # Default ...
The other key change there is introducing "as" to the individual cases in order to be able to separate the match pattern definition from the local name binding.
With this one I have a clue as to what's going on. -- ~Ethan~