摘要:
原文 举例: import std; void main() { auto c = "a|b|c|d|e".splitter('|'); c.writeln; string[]e=["a","b","c","d","e"]; assert(c.equal(e)); typeof(c).stringo 阅读全文
posted @ 2023-01-20 15:33
zjh6
阅读(33)
评论(0)
推荐(0)
摘要:
原文 首先,介绍一下背景. D中的输入区间是带front,popFront,empty成员的类型: 它构成了迭代的基础.只是为了好玩,设计一个返回永久随机数序列的输入区间.也叫生成器. 如下(不是很好的随机数生成器,但暂时可以): module rnd; struct RandomNumberGen 阅读全文
posted @ 2023-01-20 15:20
zjh6
阅读(33)
评论(0)
推荐(0)
摘要:
void aa(void delegate() userData) @nogc {} 不管闭包的意愿,它强制userData为nogc. 如果aa调用userData,那么正确.如果只是传递而没有调用userData,那么最简单方法是转换为无害构,或使用联. 阅读全文
posted @ 2023-01-20 10:11
zjh6
阅读(19)
评论(0)
推荐(0)
摘要:
原文 alias aliases(a...) = a; template sort(alias f, a...) { static if (a.length > 0) { alias x = f!(a[0]); alias sort = a; } else alias sort = a; } ali 阅读全文
posted @ 2023-01-19 15:53
zjh6
阅读(26)
评论(0)
推荐(0)
摘要:
原文 is表达式 int func(); static if (is(typeof(func) R == return)) pragma(msg, R); std.traits.ReturnType实现为: template ReturnType(alias func) if (isCallable 阅读全文
posted @ 2023-01-19 09:05
zjh6
阅读(14)
评论(0)
推荐(0)
摘要:
原文 我发现创建只设置给定属性的构造器很烦.如: class Foo { int x; int y; int z; this(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } } 对构,它会自动生成构造器,如果对类也可自动生成构 阅读全文
posted @ 2023-01-17 18:24
zjh6
阅读(14)
评论(0)
推荐(0)
摘要:
原文 int bar(){ if(__ctfe){ int[] foo = [1]; // 失败,显示`TypeInfo`不能与`-betterC`一起用 } return 0; } dmd -betterC有问题,用ldc编译相同代码则没有问题. 我对这两个编译器的不同之处的理解是,ldc根本不为 阅读全文
posted @ 2023-01-17 18:23
zjh6
阅读(20)
评论(0)
推荐(0)
摘要:
原文 class iv{ private byte[] buffer; private ulong writePos; private ulong readPos; this(){} void write(T)(T value) if (is(T == uint)){ buffer ~= nativ 阅读全文
posted @ 2023-01-17 18:22
zjh6
阅读(15)
评论(0)
推荐(0)
摘要:
原文 更改编译器 1,已弃用遗漏冲突的extern (D) @system函数定义 同一模块中多个函数的定义,在DMD 2.095.0后已算错误. 但是,尽管有同样混杂,两个实现显式的和推导的@系统属性有区别时,编译器不发出错误. void foo() {} void foo() @system { 阅读全文
posted @ 2023-01-17 11:32
zjh6
阅读(23)
评论(0)
推荐(0)
摘要:
原文 class X { private int num; struct Y { // 如何访问num? } } 我相信这对于嵌套/内部类是可能的,但我不知道是否对于结构体是可能的. 对构不成立,可这样绕过: class X { private int num; struct Y { X outer 阅读全文
posted @ 2023-01-17 10:22
zjh6
阅读(11)
评论(0)
推荐(0)
浙公网安备 33010602011771号