gpt4 book ai didi

列表中的 Erlang 整数并在公式中使用它们

转载 作者:行者123 更新时间:2023-12-01 11:15:41 47 4
gpt4 key购买 nike

我正在学习 Erlang 以及如何使用列表,但我遇到了问题。我正在制作一个使用解决数学问题的程序,例如 Tot = X*Y*Z.

首先我给出一个变量来设置我想要解决的问题的数量,如下所示:

inTestes(Tests) ->AmountOfTests = Tests.

现在为了保存我的不同变量,我还制作了一条记录:-record(specs,{x,y,z}).,它保存了一个包含 3 个变量的连音符。

我尝试填充这个连音符:inSpecs(X,Y,Z)-> #specs =[x=X,y=Y,z=Z]. 但这不起作用.我想我需要使用像 lists:append(The variables here)->#specs{x=X,y=Y,z=Z} 这样的东西,但我似乎不明白正确的。当我执行 inSpecs(X,Y,Z)->Specs =[X,Y,Z]. 时,我得到 1 个列表,例如 [10,20,30]

如何根据 AmountOfTests 保存多个这样的列表?

有人可以给我一些指导吗?

最佳答案

I try to fill this tuplet:

inSpecs(X,Y,Z)-> #specs =[x=X,y=Y,z=Z].

But this doesn't work

为什么您认为这应该有效?您认为以下内容是否可以创建列表:

MyList = ! 3, 4; 5].

计算机编程需要精确 语法——而不是 7 个字符中的 5 个是正确的。

请指出任何说明您可以使用此语法创建记录的书籍、网站或文档:

#specs =[x=X,y=Y,z=Z].

以下是您可以做的:

-module(my).
-compile(export_all).
-record(specs, {x,y,z}).

inSpecs(X,Y,Z)-> #specs{x=X,y=Y,z=Z}.

在外壳中:

1> c(my).
my.erl:2: Warning: export_all flag enabled - all functions will be exported
{ok,my}

2> Record = my:inSpecs(10, 20, 30).
{specs,10,20,30}

3> rr("my.erl").
[specs]

4> Record.
#specs{x = 10,y = 20,z = 30}

5> Record#specs.x.
10

When I just do inSpecs(X,Y,Z)-> Specs =[X,Y,Z]. I get 1 list for example [10,20,30]

How can I hold multiple lists like this according to the AmountOfTests?

假设 AmountOfTests 等于 3,inSpecs/3 应该返回什么?

对评论的回应:

以下是使用相同数据创建三个规范的方法:

-module(my).
-compile(export_all).
-record(specs, {x,y,z}).

inSpecs(X,Y,Z)-> #specs{x=X,y=Y,z=Z}.

create_specs(0) -> [];
create_specs(N) -> [inSpecs(1,2,3) | create_specs(N-1)].

在外壳中:

1> c(my).
my.erl:2: Warning: export_all flag enabled - all functions will be exported
{ok,my}

2> rr(my).
[specs]

3> Specs = my:create_specs(3).
[#specs{x = 1,y = 2,z = 3},
#specs{x = 1,y = 2,z = 3},
#specs{x = 1,y = 2,z = 3}]

或者,如果您在这样的列表中有规范数据:

SpecData = [ [1,2,3], [12,13,14], [7,8,9] ].

然后你可以像这样创建一个函数:

-module(my).
-compile(export_all).
-record(specs, {x,y,z}).

inSpecs(X,Y,Z)-> #specs{x=X,y=Y,z=Z}.

create_specs([]) -> [];
create_specs([ [X,Y,Z] | Tail]) ->
[inSpecs(X,Y,Z) | create_specs(Tail)].

在外壳中:

17> f().
ok

18> c(my).
my.erl:2: Warning: export_all flag enabled - all functions will be exported
{ok,my}

19> SpecData = [ [1,2,3], [12,13,14], [7,8,9] ].
[[1,2,3],[12,13,14],[7,8,9]]

20> Specs = my:create_specs(SpecData).
[#specs{x = 1,y = 2,z = 3},
#specs{x = 12,y = 13,z = 14},
#specs{x = 7,y = 8,z = 9}]

关于列表中的 Erlang 整数并在公式中使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51729455/

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