首页 > 解决方案 > 这个 Elixir 函数中这个(反向)赋值/匹配的意义是什么

问题描述

我唯一的猜测是它是为了验证它是一个结构。否则怎么%User{}= user办?

def change_user(%User{} = user) do
  User.changeset(user, %{})
end

它来自凤凰框架和各种生成器等......

提前致谢。

标签: elixirphoenix-framework

解决方案


是的,这只会验证输入可以匹配到/是一个%User{}结构,而不是别的。

它的重点是识别错误(通过静态程序分析)或强制运行时错误/崩溃,这样您的程序就不会做任何有害的事情(希望如此)。


推荐阅读