问题标签 [phobos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
489 浏览

d - 从 D 中的网页读取数据?

如何简单地打开一个 url 并使用 D 从网页中读取数据?(如果需要使用标准的 lib 功能,我更喜欢 phobos 而不是 tango)

0 投票
2 回答
535 浏览

d - 检查字符串是否以 D / phobos 中的子字符串开头?

到目前为止,我还没有找到最容易检查字符串是否以 D 中的某个字符开头的方法。

我想要类似的东西:

我找到的最接近的是“chompPrefix”(这里),但这并不是我真正想要的。

0 投票
1 回答
4088 浏览

d - 在writefln()之外连接D中字符串的最短方法?

我反复需要连接格式字符串,并且想知道在 D 中连接 writefln() 函数之外的字符串的最短(或最容易阅读)方法是什么?

也就是说,我喜欢 writefln 的行为,例如:

...但我想这样做而不把它写在标准输出上。有没有同样简单的方法?

我发现的唯一想法是 std.string 中的格式函数,但这需要您提供预定义长度的字符串缓冲区作为第一个参数,这在大多数情况下很不方便。

我发现的另一种选择是(通过在 std.array 中使用“join”):

...这很方便,但当然只有在您使用相同的“分隔符”时才有效。

任何更通用的方法来做到这一点,比上面的例子更短,并且不需要提供预定义长度的缓冲区字符串?

0 投票
1 回答
214 浏览

d - std.regex.regex() 不纯。为什么?

在 D 中 std.regex.regex() 不是纯的:

为什么?

是吗

A. 没有足够的pure关键字被投入。

或者

B. 有更深层次的原因

0 投票
1 回答
1100 浏览

d - Object.Error:打印 std.algorithm.cartesianProduct 的结果时发生访问冲突

我正在为 x86 使用 DMD 2.062。

该程序打印出:

然后抛出访问冲突错误。我是否错误地使用了笛卡尔产品,或者这是函数中的错误?

0 投票
2 回答
1193 浏览

d - 有效的 D : 最佳实践和设计模式

关于D-Specific Design Patterns举行了一个非常有趣的会议,在 D 社区中,一些人认为这可能是一本讨论有效编码技术的的起点。其他人认为现在还为时过早,因为没有多少人有很多经验,这样一本书的作者会对有效性的概念有一些偏见/个人的欣赏。SO 是一种更具交互性的媒体(有其局限性)。因此,等待“Effective D”的出现,如果我们能分享一些(致命的)建议/技术/模式以使 D 代码看起来更好,那就太好了。我认为如果答案会更清楚:

  • 暴露一种独特的技术
  • 本质上是一段注释代码
  • (如果太大)只是代码的链接(公共要点...)
0 投票
1 回答
109 浏览

d - 如何检测函数是否使用 @property 注释

是否可以使用 D 的内置特征和/或 std.traits 来检测函数(在类/结构内或没有)是否用 @property 注释?我知道@property 并不是一个真正的属性,但我认为__traits(getAttributes, ...)可能会这样做(没有这样的运气)。

0 投票
1 回答
199 浏览

c++ - 相当于 D 中的 remove_if

最近我对 D 编程语言产生了兴趣。我刚开始学习它,并且来自 C++ 背景。我想知道是否有 std::remove_if 的等价物。我只看到删除查看 dlang 网站上的文档。
如果没有直接的等价物,那么在 D 中获得相同结果的正确或最惯用的方法是什么?
编辑:我应该补充一点,我正在考虑擦除删除

0 投票
0 回答
107 浏览

c++ - D 中序列化 API 的思考

在开发一种缓存类型、统计信息等关于文件和目录的新型搜索引擎的道路上,我目前正在尝试使用以下方法实现内部目录树的持久缓存msgpack-d

为什么不msgpack-d,而且,从我也可以看到,std.serialization(橙色)支持通过像 Boost.Serialization 那样的一个通用模板(成员)函数重载来实现打包和解?例如容器可以使用这个简洁优雅的模板成员函数进行序列化

这将代码大小减半,并消除了使packunpack不同步的风险。我是否错过了使用这种方法的任何重大缺点,或者这种方法没有被优先考虑?

0 投票
2 回答
203 浏览

segmentation-fault - D 中的段错误,因为输入太大

以下 D 程序会因输入 939971 或更高版本而崩溃,但不会因输入 939970 或更低版本而崩溃:

堆栈跟踪:

对我来说,这看起来像是 Phobos 中的一个错误——我说得对吗?