03 2020 档案

摘要:在此:http://wssq.sbj.cnipa.gov.cn:9080/tmsve/main/login.jsp 记着,免得找不到. 阅读全文
posted @ 2020-03-31 17:54 zjh6 阅读(7) 评论(0) 推荐(0) 编辑
摘要:class X { version(Windows) { pragma(mangle, X.call.mangleof.replace("QBV","PBV")) final void call(const(Y)) const; } else { final void call(const(Y)) 阅读全文
posted @ 2020-03-30 08:53 zjh6 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-03-23 10:42 zjh6 阅读(2) 评论(0) 推荐(0) 编辑
摘要:下面三句不管用的原因: .htmledit_views pre code{ WORD-WRAP: break-word!important; WORD-BREAK: break-all!important; white-space: pre-wrap!important; } 是因为,有一个地方有固 阅读全文
posted @ 2020-03-22 17:28 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:项目csdn微信公众号限制篇数无有.一天8篇内容范围计算机相关天南海北可打赏能能支持md行经过软件处理后行广告很多但可用css改为0很少审核有点严不很严能再改可以不行还在改进不在很少流量较大较大+搜索引擎可搜索很难登录浏览器记住要扫描手机 很多奇奇怪怪的事.如不知怎么的,我的ie又用不起了,这下连下 阅读全文
posted @ 2020-03-22 09:51 zjh6 阅读(20) 评论(0) 推荐(0) 编辑
摘要:这里为软件 我汉化的是32位.因为他没汉化嘛. 这个汉化很简单.就是复制一个语言文件,然后翻译. 复制一份russian.lng,先将右边==后去掉,转成ansi文件,译待译 翻译修改后,再并左右,再转为unicode16小头文件.就好了. 阅读全文
posted @ 2020-03-21 23:09 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:extern(C++, cv){ extern(C++, class) struct Size_(T){ @disable this(); ~this() { } final T area() const; final double aspectRatio() const; final bool e 阅读全文
posted @ 2020-03-16 10:51 zjh6 阅读(14) 评论(0) 推荐(0) 编辑
摘要:如题. 这次下载的是office2010破解版,结果破解不了,还每次关闭文档时,叫你关闭一个什么模板,关也关不了.看来office2010是再也不会用了. 这次下载的是wps的2019学生版,感觉,好像没有了鼠标卡顿的感觉了. 不错,值得表扬.用wps的制图工具,一下就绘制起图形了,很方便. 阅读全文
posted @ 2020-03-12 22:34 zjh6 阅读(18) 评论(0) 推荐(0) 编辑
摘要:au BufWinLeave * silent mkview au BufWinEnter * silent loadview 阅读全文
posted @ 2020-03-12 17:17 zjh6 阅读(2) 评论(0) 推荐(0) 编辑
摘要:参考这里 要加个{}.真是奇怪. 阅读全文
posted @ 2020-03-12 12:16 zjh6 阅读(4) 评论(0) 推荐(0) 编辑
摘要:虽然,可能界面还不是很好看,不过,看起来很牛逼. 下载地址 介绍地址 这才是真牛逼哦.这个玩意儿类似sciter啊,而且人家自己写c++编译器啊. 而且开源啊. 这个既可以搞本地界面,还可以网络啊. 鼠标卡顿,先收集几个链接,慢慢来解决. 01 02 03 04 05 大牛就在csdn 就在这里 阅读全文
posted @ 2020-03-11 13:43 zjh6 阅读(19) 评论(0) 推荐(0) 编辑
摘要:function MyFunc() :g/<RuntimeLibrary>/s/DLL</</g :w! % "不保存退出 endfunction args *.vcxproj argdo! call MyFunc() set nomore 先用vim脚本将vcxproj的/md改成/mt. wxW 阅读全文
posted @ 2020-03-10 11:01 zjh6 阅读(21) 评论(0) 推荐(0) 编辑
摘要:虽然小,可是费尽心力才编译成功. 先是md与mt搞混淆了.因而出现vcruntime与libvcruntim等的混淆. 这一篇把各种c运行库搞明白了 后来又是win32.props的问题,要设置一下,在C:\Users\Administrator\AppData\Local\Microsoft\MS 阅读全文
posted @ 2020-03-09 22:27 zjh6 阅读(16) 评论(0) 推荐(0) 编辑
摘要:这两个东西是分开的.在官网要下两个,不然,编译了半天,怎么只一个tcl呢? 要用vs2017x86自带的命令行快捷方式打开目录.不然编译不了tcl 再就是点buildall.vc.bat,这里编译出来几个, 然后是编译tk.先要找tcl的目录: if "%INSTALLDIR%" == "" set 阅读全文
posted @ 2020-03-09 16:31 zjh6 阅读(57) 评论(0) 推荐(0) 编辑
摘要:在此 阅读全文
posted @ 2020-03-08 00:02 zjh6 阅读(7) 评论(0) 推荐(0) 编辑
摘要:#include <常用> 枚 类型{整数,加减,乘除,尾巴}; 构 令牌{//有个尾巴类型 类型 a;整 b=0;符 c; 令牌(){a=尾巴;} 显 令牌(符 d){ 静 串无符 加符{"+-"},乘符{"*/"}; c=d;如(加符.有(d)){a=加减;中;} 如(乘符.有(d)){a=乘除 阅读全文
posted @ 2020-03-07 19:59 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:如题. 那是因为你按默认安装,安装到program file里面了,人家找不着m4了.所以就给你输出个y.output了. 改为不含空格目录安装,加入path路径. y.tab.c,y.tab.h就出来了. 跟着别人走的时候,一定要自己多动手实验. 补充: 可以参考这里 我用的是git里面的biso 阅读全文
posted @ 2020-03-07 11:52 zjh6 阅读(21) 评论(0) 推荐(0) 编辑
摘要:今天又用了下vscode,打开md文件还是不错的. 有个叫Markdown Preview Enhanced的插件,还是不错,可以将 md文件转成html,还是好看. 就是css要改一下. 这个转的效果,比pandoc和markdown都要好看些. 不过这些都不如自己来搞的好.得想法自己写一个. 阅读全文
posted @ 2020-03-03 16:16 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:对,说的就是chrome这一系列的浏览器. 我把css改了.你不多F5一下,他加载还是从原来的缓冲里面加载. 真希望哪天再出来一个能干掉chrome的浏览器. 真恶心. 阅读全文
posted @ 2020-03-03 16:10 zjh6 阅读(4) 评论(0) 推荐(0) 编辑
摘要:pre, code{ white-space: pre-wrap !important; } pre, code { overflow-wrap: break-word !important; word-break: break-all !important; font-weight: bold ! 阅读全文
posted @ 2020-03-03 15:32 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:或者看这里的公众号:用d编程 01用d编程你好 02用d编程写与写行类型 03用d编程变量 04用d编程数组 05用d编程切片 06用d编程–串 07用d编程重定向标准io流 08用d编程域 09用d编程格式化输出 10用d编程–当 11用d编程开关 12用d编程枚举 13用d编程值与引用类型 14 阅读全文
posted @ 2020-03-02 09:30 zjh6 阅读(56) 评论(0) 推荐(0) 编辑
摘要:可给任何声明(结构,类,变量)赋值属性,然后编译时访问他们来改变编译的方式.用户定义属性完全是编译时特征. @Encrypted string name; 可以指定多个属性.这样: @Encrypted @Colored string lastName; @(Encrypted,Colored) s 阅读全文
posted @ 2020-03-01 12:42 zjh6 阅读(17) 评论(0) 推荐(0) 编辑
摘要:管理内存 D不显式管理内存.本章为垃集,可以研究std.allocator及各种管理内存方法. 取相邻变量地址 import std.stdio; void main() { int i; int j; writeln("i: ", &i); writeln("j: ", &j); } D的动态变量 阅读全文
posted @ 2020-03-01 12:41 zjh6 阅读(8) 评论(0) 推荐(0) 编辑
摘要:纤程允许执行一个线程完成多个任务.与线程相比,切换更有效,类似协程(更小)与绿色线程. 纤程允许每个线程有多个调用栈.要掌握纤程,必须了解线程的调用栈. 参数,局部变量,返回值,函数的临时表达式,及其他执行时的额外信息组成了函数的本地状态 运行时调用函数时自动分配和初化函数的本地状态. 为函数调用分 阅读全文
posted @ 2020-03-01 12:40 zjh6 阅读(14) 评论(0) 推荐(0) 编辑
摘要:消息传递是安全的并发方法. 多线程读写相同数据.共享数据不安全,就是大家(不受控的线程)都要来争.本章虽然简单,但实际中经常遇见.尽管用std.concurrency,对core.thread也是适用的. 在d中不是自动共享的. 默认为tls(本地线程)的.尽管所有线程都可访问模块级变量,但每个线程 阅读全文
posted @ 2020-03-01 12:39 zjh6 阅读(14) 评论(0) 推荐(0) 编辑
摘要:并行基于并发. 并行与并发的区别: 并行,是利用多核.而单核也可以并发(多线程),如服务端程序. 并行,相互独立,不独立,则为漏洞.并发则可以依赖其他线程结果. 并行,由任务封装.并发显式利用线程. 并行,易用,只要是独立任务就可正常工作.并发只在基于传递消息时才容易.基于传统的共享锁,很难编写正确 阅读全文
posted @ 2020-03-01 12:38 zjh6 阅读(15) 评论(0) 推荐(0) 编辑
摘要:std.parallelism程序在多核中并行运算. 仅当并行操作真正独立时,才使用这些算法. parallel,并行访问区间元素 task,并行执行的任务, asyncBuf,半激进并行迭代输入区间元素 map,用输入区间元素半激进并行调用函数 amap,用随机访问区间元素全激进并行调用函数 re 阅读全文
posted @ 2020-03-01 12:36 zjh6 阅读(16) 评论(0) 推荐(0) 编辑
摘要:容器,算法,区间都是模板 std.range包含许多按模板限制与static if的模板示例. 区间类型模板. isInputRange isForwardRange isBidirectionalRange isRandomAccessRange isOutputRange void print( 阅读全文
posted @ 2020-03-01 12:34 zjh6 阅读(15) 评论(0) 推荐(0) 编辑
摘要:把区间与容器/算法结合起来的是模板(非常重要). stl.拉开序幕. d的区间,RandomAccessRange,最强大,随机访问,就是类似数组. import std.stdio; import std.algorithm; void main(){ int [] values = [1,20, 阅读全文
posted @ 2020-03-01 12:33 zjh6 阅读(14) 评论(0) 推荐(0) 编辑
摘要:模板可以生成函数,结构,联,类,接口和任何其他合法的D代码. 模板插件插入模板实例,如下: mixin a_template!(template_parameters) // mixin template EdgeArrayFeature(T, size_t count) { //这里定义`模板插件 阅读全文
posted @ 2020-03-01 12:30 zjh6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:返回类型属性:auto, ref, inout, 和 auto ref auto:不需要指定函数返回类型,即可变,占位符.有多个语句,返回各种返回类型的公共类型,如整与双精的公共类型为双精,则返回双精. auto func(int i) { if (i < 0) { return i; // 整 } 阅读全文
posted @ 2020-03-01 12:28 zjh6 阅读(16) 评论(0) 推荐(0) 编辑
摘要:原来模板章仅包含(函数,结构,类)模板和类型模板参数. 快速语法.D模板,易定义和使用.更可读,很强大.定义函数,结构,类的模板,只需要提供模板参数列表. T twice(T)(T value) { return 2 * value; } class Fraction(T) { T numerato 阅读全文
posted @ 2020-03-01 12:27 zjh6 阅读(16) 评论(0) 推荐(0) 编辑
摘要:元组Tuple,是std.typecons实现的库特征.合并多个值进一个值. 利用std.meta的AliasSeq来完成某些操作. 更多可见此 import std.stdio; import std.typecons; void main() { auto t = tuple(42, "hell 阅读全文
posted @ 2020-03-01 12:26 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:标签语法标签:. 这个标签给本行的行尾加个名字. 还可以anExpression(); end: anotherExpression();,但不常用. void foo(bool condition) { writeln("first"); if (condition) { goto end; } 阅读全文
posted @ 2020-03-01 12:11 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:联. 联的成员共享内存占用.也可有成员函数 struct S { int i; double d; } // ... writeln(S.sizeof); //用-m32编译,上为12,下为8 union U { int i; double d; } // ... writeln(U.sizeof) 阅读全文
posted @ 2020-03-01 12:08 zjh6 阅读(16) 评论(0) 推荐(0) 编辑
摘要:可在内部域中定义嵌套,以缩小符号可见性来帮助封装. 定义嵌套函数 void outerFunc(int parameter) { int local; void nestedFunc() { local = parameter * 2; } struct NestedStruct { void me 阅读全文
posted @ 2020-03-01 12:04 zjh6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:foreach支持:切片,数组,关联数组,区间,库类型(特定),文件(行). 对自定义类型,可自定义每一. 1,定义区间成员函数,允许与其他区间算法连用. 2,定义一个或多个opApply. opApply优先.但一般区间成员函数就足够了,更简单,更常用. 当对象有集合概念时,可以每一.否则,没必要 阅读全文
posted @ 2020-03-01 12:02 zjh6 阅读(13) 评论(0) 推荐(0) 编辑
摘要:函数指针用于存储函数地址,以备后用.类似c语言的函数指针. 闭包存储函数指针和上下文,上下文可以是函数执行区域或构或类. 闭包也允许其他语言的闭包. &取地址. import std.stdio; int myFunction(char c, double d) { return 42; } voi 阅读全文
posted @ 2020-03-01 12:01 zjh6 阅读(17) 评论(0) 推荐(0) 编辑
摘要:a is b是操作符.is(...)是表达式. 是表达式,确定表达式是否为真.在static if和限制模板时特别有用. is(T),确定T是个有效类型. static if (is (int)) { writeln("valid"); } else { writeln("invalid"); } 阅读全文
posted @ 2020-03-01 11:59 zjh6 阅读(20) 评论(0) 推荐(0) 编辑
摘要:-unittest单元测试. in,out,invariant没有-release. 单元测试/合同用于程序正确性. 模板只特化实际使用类型. void swap(T)(ref T lhs, ref T rhs) { T temp = lhs; lhs = rhs; rhs = temp; } un 阅读全文
posted @ 2020-03-01 11:19 zjh6 阅读(19) 评论(0) 推荐(0) 编辑
摘要:最小可处理的,就是8位, writefln("%s is %s byte(s)", bool.stringof, bool.sizeof); 所以bool实际上是一个字节.而不是1位.计算机一次至少读一个字节. 寄存器:32位的4字节大小.64位的8字节大小. import std.stdio; v 阅读全文
posted @ 2020-03-01 11:17 zjh6 阅读(17) 评论(0) 推荐(0) 编辑
摘要:指针对系统编程很重要,d的指针其实不难,d的有些特征可以替代指针. import std.stdio; void main() { int[] numbers = [ 1, 11, 111 ]; foreach (number; numbers) { number = 0; //复制语义 } wri 阅读全文
posted @ 2020-03-01 11:14 zjh6 阅读(49) 评论(0) 推荐(0) 编辑
摘要:alias this允许自动转换类型,而opCast是显式转换类型.自动转换成变量的类型或函数返回类型. 语法alias 成员变量/函数 this ; import std.stdio; struct Fraction { long numerator; long denominator; doub 阅读全文
posted @ 2020-03-01 11:10 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:alias与alias this无关. Stack!(Point!double) randomPoints(size_t count) { auto points = new Stack!(Point!double); // ... } 可这样: 长名,难读,没必要每个地点都详细说明.如果改,也麻烦 阅读全文
posted @ 2020-03-01 11:07 zjh6 阅读(13) 评论(0) 推荐(0) 编辑
摘要:import std.string; void func(A, B)(A a, B b) { pragma(msg, format("用'%s'和'%s'调用",A.stringof, B.stringof)); // ... } void main() { func(42, 1.5); func( 阅读全文
posted @ 2020-03-01 11:06 zjh6 阅读(16) 评论(0) 推荐(0) 编辑
摘要:模板可编写通用算法/数据结构 d模板非常强大.函数,结构,类模板. import std.stdio; void printInParens(T)(T value) { writefln("(%s)", value); } void main() { printInParens(42); // wi 阅读全文
posted @ 2020-03-01 11:02 zjh6 阅读(12) 评论(0) 推荐(0) 编辑
摘要:可以指定成员函数作为属性名. 这样a.b,b就可能是函数,只要前面加了@属性. .length属性不能修改静态数组.对切片,有可能会分配空间,甚至移动到新位置+初化新成员. 因为属性,所以调用函数,可以不加(). struct Rectangle { double width; double hei 阅读全文
posted @ 2020-03-01 11:00 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:用这样variable.foo(arguments)的方式调用foo(variable, arguments)这样的函数 class Car { enum economy = 12.5; // 每公升平均 private double fuelAmount; // 公升 this(double fu 阅读全文
posted @ 2020-03-01 10:59 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:封装的目的是为了代码安全,调试容易,当然还有方便理解. 可在构/类级别,或在模块级别指定封装关系. 词意思public本程序任意访问private限制只能由定义他的模块访问.此外子类不能覆盖基类私成员.package包级访问,属于某包都可以访问.包属性仅包含最里边的包.vertebrate下的所有包 阅读全文
posted @ 2020-03-01 10:56 zjh6 阅读(20) 评论(0) 推荐(0) 编辑
摘要:static this() 和static ~this(),模块构造和析构函数,每线程一次,总程序一次的,可用shared static this() 和 shared static ~this() 一堆模块叫一个包. import std.stdio; 选择导入:import std.stdio 阅读全文
posted @ 2020-03-01 10:55 zjh6 阅读(19) 评论(0) 推荐(0) 编辑
摘要:class LifetimeObserved { int[] array; static size_t counter;//静态成员 this() { array.length = 30_000; ++counter; }//结构好像没有(). ~this() { --counter; } } im 阅读全文
posted @ 2020-03-01 10:53 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:interface SoundEmitter { // ... } interface SoundEmitter { string emitSound(); //仅声明 } interface I { int func(int i) in { } out { //可用进出来保证 } } class 阅读全文
posted @ 2020-03-01 10:52 zjh6 阅读(22) 评论(0) 推荐(0) 编辑
摘要:每个类自带toString opEquals opCmp toHash函数.因为继承自对象类. 定义他们,需要盖.因为有hash,所以可以成为关联数组的键. TypeInfo提供类型的信息.每个类型一个.typeid可以访问相关信息.ti可用来比较是否相同,访问特殊函数,决定两个类型是否相同其经常关 阅读全文
posted @ 2020-03-01 10:51 zjh6 阅读(16) 评论(0) 推荐(0) 编辑
摘要:class SubClass : SuperClass { // ... } class Clock { int hour; int minute; int second; void adjust(int hour, int minute, int second = 0) { this.hour = 阅读全文
posted @ 2020-03-01 10:49 zjh6 阅读(12) 评论(0) 推荐(0) 编辑
摘要:类, oop:封装,继承,多态.类是引用类型.未初化时为空针,初化后变成实体.实际类必须由新构造. 而引用与无效比较是错误的,所以不能这样.必须用is比较. MyClass referencesAnObject = new MyClass; assert(referencesAnObject !is 阅读全文
posted @ 2020-03-01 10:46 zjh6 阅读(34) 评论(0) 推荐(0) 编辑
摘要:对类,不能重载opAssign,因为类是按引用的.赋值是引用. 重载运算符,主要是为了方便书写. struct TimeOfDay { // ... ref TimeOfDay opOpAssign(string op)(in Duration duration)//(1) if (op == "+ 阅读全文
posted @ 2020-03-01 10:42 zjh6 阅读(22) 评论(0) 推荐(0) 编辑
摘要:名字意思__MODULE__模块名__FILE__源文件名__FILE_FULL_PATH__源文件完整路径__LINE__行号__FUNCTION__函数名__PRETTY_FUNCTION__美化函数名__DATE__编译日期__TIME__编译时间__TIMESTAMP__时间戳__VENDO 阅读全文
posted @ 2020-03-01 10:40 zjh6 阅读(14) 评论(0) 推荐(0) 编辑
摘要:结构是值类型,直接复制.可有默认值.如果未初化,则成员自动用该类型的默认值. struct TimeOfDay { int hour; int minute; } //定义 auto periodStart = TimeOfDay(8, 30); auto periodDuration = Time 阅读全文
posted @ 2020-03-01 10:29 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:两种类型不同,当然不能一起操作,会出现编译错误. 从到boolintbyteintubyteintshortintushortintcharintwcharintdcharuint 类型提升,从低到高.没问题,不会出现截断. int a = 0; int b = 1; size_t c = 0; w 阅读全文
posted @ 2020-03-01 10:28 zjh6 阅读(18) 评论(0) 推荐(0) 编辑
摘要:MyClass referencesAnObject = new MyClass; MyClass variable; //空针,未初化. 要在函数中使用,得先由空针->转换成实体. import std.stdio; class MyClass { int member; } void use(M 阅读全文
posted @ 2020-03-01 10:11 zjh6 阅读(6) 评论(0) 推荐(0) 编辑
摘要:单元测试,测试独立的最小单元.部件能正常工作时,整体就能正常工作. 没有单元测试的代码是有病的代码. 为什么有些代码只提供尽可能少的接口,就是为了方便更新.有的时候接口越少越好.里面的代码就可以自由更新/重构.因为根本就没用到这些函数.所以最好,一开始就构造到最好. 最强大的工具就是单元测试. -u 阅读全文
posted @ 2020-03-01 10:09 zjh6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:main()可有string[]参数 可用std.getopt取命令. import std.stdio; import std.getopt; import std.random; void main(string[] args) { int count; int minimum; int max 阅读全文
posted @ 2020-03-01 10:06 zjh6 阅读(13) 评论(0) 推荐(0) 编辑
摘要:import std.stdio; void main() { int i;immutable(int) imm; auto arr = [ 1 ]; auto aa = [ 10 : "ten" ]; writeln(i, // 变量 imm, // 不变变量 arr, // array arr[ 阅读全文
posted @ 2020-03-01 10:02 zjh6 阅读(21) 评论(0) 推荐(0) 编辑
摘要:参数,始终复制参数,除非加了ref(c++的&). 即使是引用类型(切片,关联数组,类)也是复制的,当然,复制的是钥匙.实体未复制.因此,通过它是可以直接修改原实体的.因为钥匙的能力是很强的. 当然通过值传递,因为复制的都是钥匙. 但切片,不仅仅是钥匙,一但增加超过容量.钥匙变实体,这个时候,原来的 阅读全文
posted @ 2020-03-01 10:00 zjh6 阅读(20) 评论(0) 推荐(0) 编辑
摘要:值类型是复制,是实体. 引用类型是钥匙.我觉得,为啥不用&表引用呢?太奇怪了. 引用变量就像钥匙,不是实体.但能够访问. D中类是引用类型.复制一个类变量时,你得到一把钥匙.改变后面钥匙的值,前面的实体也改变了.除非你又分配了个新实体. 同样,分配关联数组时,也是一样,就像单例一样,除非你新分配一个 阅读全文
posted @ 2020-03-01 09:57 zjh6 阅读(28) 评论(0) 推荐(0) 编辑
摘要:enum用来定义命名常量值. if (operation == 1) { result = first + second; } else if (operation == 2) { result = first - second; } else if (operation == 3) { resul 阅读全文
posted @ 2020-03-01 09:56 zjh6 阅读(15) 评论(0) 推荐(0) 编辑
摘要:switch (expression) { case value_1://这里可以不为数字. // 为1时操作... // ... break; case value_2: // 为2时操作... // ... break; // ... 其他例... default: // 都不匹配操作 // . 阅读全文
posted @ 2020-03-01 09:53 zjh6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:import std.stdio; import std.random; void main() { int number = uniform(1, 101);//`std.random`中 writeln("想1到100间数."); int guess; do { write("你猜哪个? "); 阅读全文
posted @ 2020-03-01 09:50 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:% 标志 宽 精度 格式符号 如writefln("项 %d:%9.02f", i + 1, items[i]); d的格式与C类似. 格式符:b,x/X,o,d,还有e,f,g,a 格式 限定 s,默认 b,二进制 d,十进制 o,八进制 x/X,16进制 f/F,标准10进制格式浮点计数 e,科 阅读全文
posted @ 2020-03-01 09:46 zjh6 阅读(20) 评论(0) 推荐(0) 编辑
摘要:不能在内部域中定义与外部域中相同的名字. 有的在域的最前定义变量 一般在使用前定义变量,而不是在之后.//找不到,也不规范 最好在刚要使用前定义,在速度,不犯错,可读,代码维护上都不错. import std.stdio; void main(){ for ({ int i = 0; double 阅读全文
posted @ 2020-03-01 09:44 zjh6 阅读(15) 评论(0) 推荐(0) 编辑
摘要://名字为a.d import std.stdio; void main() { double number; readf(" %s", &number); writeln(number * 2); }//太奇怪,这么一个程序`300kb`?,看来d这确实`标准库和运行时`太大了. 命令a >1.t 阅读全文
posted @ 2020-03-01 09:42 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:最简单定义:char[]是串,字符数组 d有三种数组类型. import std.stdio; void main() { char[] name;//读入一堆符 write("名字? "); readf(" %s", &name);//有没有&都一样 writeln("你好 ", name, "! 阅读全文
posted @ 2020-03-01 09:40 zjh6 阅读(19) 评论(0) 推荐(0) 编辑
摘要:切片,动态数组的别名. [起..尾]是这样的[..),即左包右不包 切片不是实体,就像钥匙一样. 如果切片修改实体,则实体也跟着变了. [a..a],大小为0,[a..$], $表示数组长度,等价于数组.长度. .dup复制实体. 如下: import std.stdio; void main() 阅读全文
posted @ 2020-03-01 09:36 zjh6 阅读(24) 评论(0) 推荐(0) 编辑
摘要:流程语句与c差不多. 算术运算与c差不多.为了防止溢出,可使用检查整 数组分静态与动态,静态不能添加元素. 动态数组: writeln("数组有",array.length,"个元素."); //且可设置 int []数组; //最初为空 数组.length = 5;//现在有5个元素 复制静态数组 阅读全文
posted @ 2020-03-01 09:31 zjh6 阅读(13) 评论(0) 推荐(0) 编辑
摘要:import std.stdio; void main(){ int studentCount; writeln("有",studentCount,"学生."); //将值200分配给studentCount变量: studentCount = 200; writeln("现在有",studentC 阅读全文
posted @ 2020-03-01 09:30 zjh6 阅读(19) 评论(0) 推荐(0) 编辑
摘要:write写,但不换行. writeln写且换行. //为行注释. /* */为块注释不嵌套,/++/为嵌套注释. /* /**/ab /+ /++/ab+/ab -w,把警告当错误. 基本类型: 类型定义初始值bool布尔假byte整8位0ubyte正8位0short整16位0ushort正16位 阅读全文
posted @ 2020-03-01 09:27 zjh6 阅读(24) 评论(0) 推荐(0) 编辑
摘要:将你的vim或其他编辑器设置为utf8格式. import std.stdio; void main(){ writeln("你好,世界!"); } 用dmd/ldc2/gdc编译. 工具的下载页面 以.d为扩展名. 窗口安装及dmd详细命令行 常用编译器开关: 选项解释-betterC更好的C-c 阅读全文
posted @ 2020-03-01 09:26 zjh6 阅读(15) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示