When matching key-value associations from maps the key expression must be an expression with literals or bound variables, see the documentation of maps (section Maps in Patterns).
The problem with a match expression like:
#{Key := V} = M.
Where Key
is an unbound variable is that this matches all the key/value bindings in the map M
, not a particular key/value. Same with the other match expression you tried, it can match several keys.
The correct way would be to fully specify the key here, like this
#{#{country => "India"} := V} = Map.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…