gpt4 book ai didi

struct - Elixir:无法访问结构

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

我试图让结构工作,但互联网或打印书籍上的记录示例都不起作用。

网站上的这个例子(https://www.tutorialspoint.com/elixir/elixir_structs.htm)也显示了同样的问题:

defmodule User do
defstruct name: "John", age: 27
end

john = %User{}

#To access name and age of John,
IO.puts(john.name)
IO.puts(john.age)

我得到错误无法访问结构用户,结构尚未定义或结构正在与定义它的相同上下文中被访问。

最佳答案

您可能正在尝试使用 elixir <filename.exs> 运行它。虽然您可能在书中看到过类似代码,但很可能将代码输入 iex . (编辑:您链接到的页面上的代码直接来自官方教程( http://elixir-lang.org/getting-started/structs.html ),该教程正在将该代码输入 iex )。这将适用于 iex但不在 exs 中脚本;这是 Elixir “脚本”编译和评估方式的限制。

我通常将代码包装在另一个函数(可能还有另一个模块)中,最后当我必须在 exs 中创建和使用结构时调用它。脚本:

$ cat a.exs
defmodule User do
defstruct name: "John", age: 27
end

defmodule Main do
def main do
john = %User{}
IO.puts(john.name)
IO.puts(john.age)
end
end

Main.main
$ elixir a.exs
John
27

关于struct - Elixir:无法访问结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39576209/

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