gpt4 book ai didi

ada - 用一个字段创建 Ada 记录

转载 作者:行者123 更新时间:2023-12-04 03:12:45 26 4
gpt4 key购买 nike

我定义了一个类型:

type Foo is record
bar : Positive;
end record;

我想创建一个返回记录实例的函数:
function get_foo return Foo is
return (1);
end get_foo;

但是 Ada 不会让我说“位置聚合不能有一个参数”。
愚蠢地尝试,我在记录中添加了另一个愚蠢的字段,然后 return (1, DOESNT_MATTER);作品!

我如何告诉 Ada 这不是位置聚合,而是尝试创建记录?

最佳答案

位置聚合初始化不能用于只有一个组件的记录,但这并不意味着您不能有一个组件的记录。

通过给出命名字段列表来指定记录类型的值。您的 get_foo 的正确代码功能应该如下。

function get_foo return Foo is
return (bar => 1);
end get_foo;

您还可以使用 Foo'(bar => 1) 指定记录的类型。表达。

在实践中使用命名组件列表比位置初始化更好。您可以忘记组件的位置,如果您在记录中添加新字段,它也不会改变。

关于ada - 用一个字段创建 Ada 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2743099/

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