elixir - 这个 Elixir 函数中这个(反向)赋值/匹配的意义是什么
问题描述
我唯一的猜测是它是为了验证它是一个结构。否则怎么%User{}= user
办?
def change_user(%User{} = user) do
User.changeset(user, %{})
end
它来自凤凰框架和各种生成器等......
提前致谢。
解决方案
是的,这只会验证输入可以匹配到/是一个%User{}
结构,而不是别的。
它的重点是识别错误(通过静态程序分析)或强制运行时错误/崩溃,这样您的程序就不会做任何有害的事情(希望如此)。
推荐阅读
- android - 广播接收器未通过 Xamarin Android 中的 OnReceive 方法显示 Toast
- sorting - 我在这个 QuickSort 案例中做错了什么?
- arrays - 即使我在 3 大小的数组上分配 4 个值,为什么我的代码仍在运行?
- python-3.x - 将变量添加到中间件中的 Django 请求对象(一次)
- r - 如何将 R Markdown YAML 中的 R 表达式传递给 CSS 参数?
- c# - 如何等待在 UWP 应用中触发 EventHandler?
- asynchronous - 在 protobuffers 上使用特征和异步函数的生命周期错误
- plot - 如何在 Scilab 中绘制曲线?
- flutter - Flutter 访问底部 Navigation 父级的上下文
- python - 具有随机变量的幂函数