D命名约定:火卫一是如何组织的?
我正在制作自己的便捷函数库,并试图遵循Phobos的命名约定,但我真的很困惑。我怎么知道东西放在哪里 例子: 如果在火卫一中有类似于D命名约定:火卫一是如何组织的?,d,phobos,D,Phobos,我正在制作自己的便捷函数库,并试图遵循Phobos的命名约定,但我真的很困惑。我怎么知道东西放在哪里 例子: 如果在火卫一中有类似于foldRight的功能(基本上是反向的reduce),我会在哪个模块中找到它 我可以想到几个: std.algorithm:因为它表达的是一种算法 std.array:因为我可能会在阵列上使用它 std.container:因为它用于容器,而不是单个对象 std.functional:因为它主要用于函数式编程 std.range:因为它也对范围进行操作 但我不
foldRight
的功能(基本上是反向的reduce
),我会在哪个模块中找到它
我可以想到几个:
:因为它表达的是一种算法std.algorithm
:因为我可能会在阵列上使用它std.array
:因为它用于容器,而不是单个对象std.container
:因为它主要用于函数式编程std.functional
:因为它也对范围进行操作std.range
:是的,您可以像reduce一样实现它!趣味(复古(r)) 此模块指定在序列上运行的算法std.algorithm
:否,因为它也可以在其他范围内运行 这些是仅在内置阵列上运行的帮助器函数std.array
:否,因为它没有定义数据结构(如树集) 这定义了语言中没有内置的数据结构(现在是链表、二叉树和内存管理方面的确定性数组)std.container
:否,因为它不在函数上运行,而是在范围上运行 这个函数接受一个函数并返回一个不同的函数std.functional
:否,因为它没有定义一个范围或提供一种不同的方法来迭代一个范围std.range