phobos

    4热度

    2回答

    起初我以为我只能依靠最大的相对差异,但我错了。例如,如果a = 0.0和b = 0.5,它们的相对差异是1.0。在这种情况下,approxEquals(lhs, rhs, maxRelDiff, maxAbsDiff)依赖最大绝对差来确定两个浮点数是否相等。 两个问题是: 我怎么想出了一个新的最大相对和绝对差对如果默认(1E-2,1E-5)是不够严谨? 1e-2和1e-5如何被选为默认值?例如,如

    2热度

    2回答

    嘿伙计,我试图让语法的这些位是有意义的我: S[] split(S)(S s) if (isSomeString!S) { ... } 和 string join(in string[] words, string sep) { ... } 据(如phobos/src/std/string.d所示) 我可以说,这是一段代码,可以让我们做这样的事情: string

    2热度

    1回答

    我想转换的阵列形式的d: string[] arrayStr = [ "hi, "is fun", "use D programming" ]; 我有一个C函数,它接受一个C可变参数: void c_func(const char* format, ...); 我能做到: foreach(str; arrayStr) func(str); 但是,这似乎是黑客的C variad

    3热度

    2回答

    我想一些火卫一的代码转换为它的等效探戈,但我被困在这一段代码,我不完全理解: OutBuffer codebuf; (...) void gen(Loc loc, uint opcode, uint argc, ...) { codebuf.reserve((1 + argc) * uint.sizeof); codebuf.write(combine(loc, op

    5热度

    1回答

    D,作为这一群人中鲜为人知的语言,在图书馆的方式上很少涉猎它。我试图下载一个文件,而我可以看到用DMD 2和phobos来做这件事的方式是使用etc.c.curl,但是......卷曲很难使用。因为我无法在任何地方找到一个好榜样。如何使用etc.c.curl以最简单的方式下载文件?

    3热度

    1回答

    std.process有一个不错的shell()功能。 import std.process; import std.stdio; void main() { string Output = shell("ls ."); writeln("The contents of this directory are:"); write(Output); } 它记

    5热度

    2回答

    D文档似乎有点混乱,我无法在官方网站上的任何位置找到这些信息。我需要一些常见的异常类型(例如,NotFiniteNumberException,FileIOException,类似那样的类型),它们存在于核心库中,还是我必须自己推出这些类型?

    11热度

    1回答

    这仅仅是我,还是在火卫二没有二进制搜索功能?我有一个预先分类的数组,我想用自己的比较函数进行搜索,但是我在std.algorithms或std.containers中找不到任何东西。 谢谢!

    3热度

    1回答

    我知道模板像 T add(T)(T a, Tb){ return a + b; } 但这需要用户问哪种类型将是回报,我,我想里面的方法计算哪种类型会喜欢被退回: T getField(size_t column){ if(column == 0) T = int; else T = string; return to!T("1"

    5热度

    1回答

    应该如何该C被转换为d: typedef const gchar* (*GModuleCheckInit) (GModule *module); typedef void (*GModuleUnload) (GModule *module); 这是正确的吗? alias const gchar* function(GModule *module) GModuleCheckInit; ali