i see function signature , can't find on it:
def handle("user:" <> id), do: repo.get(user, id)
i new erlang/elixir assume sort of pattern matching user:1
, user:2
, haven't seen articles or information in elixir guides.
what going on here?
yes, it's pattern in case. "user:" <> id
match binary starting user:
, , assign part of string after user:
id
.
iex(1)> "user:" <> id = "user:" "user:" iex(2)> id "" iex(3)> "user:" <> id = "user:123" "user:123" iex(4)> id "123" iex(5)> "user:" <> id = "user" ** (matcherror) no match of right hand side value: "user"
note same operator used concatenate binaries when used expression:
iex(1)> id = "123" "123" iex(2)> "user:" <> id "user:123"
Comments
Post a Comment