PatternMetonyms.matchv-question-mark
You're seeing just the macro
matchv-question-mark
, go back to PatternMetonyms module for more information.
view/2
's equivalent to match?/2
iex> import PatternMetonyms
...> matchv?((Function.identity() -> 1), 1)
true
iex> import PatternMetonyms
...> matchv?((Function.identity() -> {1, _}), {1, 2})
true
iex> import PatternMetonyms
...> map = %{a: 1, b: 2}
...> matchv?((Map.take([:a, :b, :c]) -> %{a: _}), map)
true
iex> import PatternMetonyms
...> map = %{a: 1, b: 2}
...> matchv?((Map.take([:b, :c]) -> %{a: _}), map)
false
iex> import PatternMetonyms
...> a = 1
...> matchv?(^a, 1)
true
iex> import PatternMetonyms
...> a = 1
...> matchv?((Function.identity() -> ^a), 1)
true
iex> import PatternMetonyms
...> list = [a: 1, b: 2, a: 3]
...> Enum.filter(list, &matchv?((Function.identity() -> {:a, _}), &1))
[a: 1, a: 3]
iex> import PatternMetonyms
...> list = [a: 1, b: 2, a: 3]
...> Enum.filter(list, &matchv?((Function.identity() -> {:a, x}) when x < 2, &1))
[a: 1]
iex> import PatternMetonyms
...> matchv?(_x, 1)
...> binding()
[]