Erlang / Erlang Basics Interview questions
What is pattern matching in Erlang?
Pattern matching is Erlang's core mechanism for both destructuring data and controlling program flow. The
= operator isn't assignment in the usual sense — it asserts that the left-hand pattern must
match the right-hand value, binding any unbound variables in the process.
{ok, Value} = {ok, 42}, % Value becomes 42 {ok, Value2} = {error, oops} % fails: patterns don't match -> exception
The same mechanism drives function clause selection and case expressions: Erlang tries each
clause's pattern in order and runs the first one that matches, extracting variables as it goes.
describe(0) -> "zero"; describe(N) when N > 0 -> "positive"; describe(_) -> "negative".
This removes the need for most manual type-checking or field-extraction code you'd otherwise write by hand.
More Related questions...