gpt4 book ai didi

elixir - 什么时候在 Elixir 模块名称中使用点?

转载 作者:行者123 更新时间:2023-12-04 22:55:22 25 4
gpt4 key购买 nike

我见过这样命名的 Elixir 模块:

defmodule Foo.bar.baz do
end

但我找不到任何说明何时执行此操作的文档。

它与子目录有关吗?使用 mix,我可以将我的模块放在 lib 文件夹中的子目录中,并且它们可以正常工作而没有点。

例如:
# this is in /lib/foo/bar

defmodule Bar do
end

什么是约定?

最佳答案

. 没有什么特别之处.你可以给一个模块任何你想要的名字,只要它是一个有效的原子,包括例如空格:

iex(1)> defmodule :"hello world!!!" do
...(1)> def hi, do: :ok
...(1)> end
iex(2)> :"hello world!!!".hi
:ok

您也不需要将模块命名为与它们所在的文件/文件夹相同。您可以在任何 .ex 中定义任何模块。 lib 内的文件它们将可用于整个应用程序和 iex .

如果文件在顶层声明单个模块,约定是根据其路径命名,不包括 lib。 ,将每个路径段转换为大写。例如, lib/foo/bar/baz.ex通常定义一个名为 Foo.Bar.Baz 的模块.

关于elixir - 什么时候在 Elixir 模块名称中使用点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49578272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com