gpt4 book ai didi

d - D 中的 Ada 风格范围类型

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

阅读后this关于 Ada 和 C++ 的有趣文章,了解 D 对 CTFE 的支持和函数的常量参数特化 我想知道 Ada 样式范围类型是否可以在 D 中比在 C++ 中更容易/有效地实现。有没有人可能已经编写了这样的库?

如果这样的范围可以在 D 中有效地实现并且对开发人员友好,它可以用作在对确定性和类型和内存安全有需求的领域建立 D 的插入者(如果 D 已经大放异彩),例如航空电子和汽车。 D 将因此获得更多的开发者兴趣和更强大的资金支持。

最佳答案

将标量(有界)变量作为模板在 D 中很容易完成,事实上我记得我看到有人已经这样做过的代码。不幸的是,我不记得在哪里见过它。这就是说,恕我直言,它不需要成为语言的一部分,而是成为标准库的一部分。

(编辑: Adam 让我想起了代码:http://arsdnet.net/dcode/ranged.d)

范围是更广泛的概念,在 Andrei 的文章中得到了很好的解释 - http://www.informit.com/articles/printerfriendly.aspx?p=1407357&rll=1 .这种类型的范围现在是 D 的核心概念。D 的切片是最强大的范围 - RandomAccessRange 的实现。

例子:

import std.stdio;
import std.algorithm;

void main()
{
int[] values = [ 1, 20, 7, 11 ]; // values is a RandomAcessRange
writeln(filter!(value => value > 10)(values));
}

好的读物:

  1. http://ddili.org/ders/d.en/ranges.html
  2. http://www.drdobbs.com/architecture-and-design/component-programming-in-d/240008321
  3. http://dlang.org/phobos/std_range.html

关于d - D 中的 Ada 风格范围类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13453949/

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