文档章节

d语言之模块重载

轻舞凋零
 轻舞凋零
发布于 2016/02/01 14:48
字数 140
阅读 29
收藏 0
点赞 1
评论 0

d语言之模块重载

参考自d程序设计语言---我的博客http://my.oschina.net/u/218155/blog?fromerr=SwOkb7Sw fllow me

import std.conv;
import std.stdio;
//import std.Exception;

struct CheckedInt(N)if(isIntegral!N){
	private N value;
	this(N value){
		this.value = value;
	}
	ref CheckedInt opUnary(string op)()if(op == "++"){
		assert(value != value.max);
		++value;
		return this;
	}
	ref CheckedInt opUnary(string op)()if(op == "--"){
		assert(value != value.min);
		--value;
		return this;
	}
	CheckedInt opUnary(string op)()
		if(op =="+" || op == "-" || op == "~")
	{
		return CheckedInt(mixin(op~"value"));
	}
	//opt cast
	//string opCast(T)()if(is(T == string)){}
	//opt +-*/
	//CheckedInt opBinary(string op)(CheckedInt){}
	@property void showValue(){
		writeln(value);
	}

}
void main() {
	CheckedInt!int ct = CheckedInt!int(11);
	ct++;
	--ct;
	-ct;
	ct.showValue;
	writeln("t");




}


© 著作权归作者所有

共有 人打赏支持
轻舞凋零
粉丝 13
博文 100
码字总数 16794
作品 0
昌平
程序员
10月编程语言排行榜:不成大器的D语言

【51CTO独家特稿】今天Tiobe发布了2011年10月编程语言排行榜,本期排行榜我们看到Lua这门语言蹿升很快,而传统的竞争对手C#和PHP正在交替自己的位置。Assembly(汇编语言)正在大踏步的向后退...

zjf_sdnu
2011/10/17
0
0
系统级编程语言性能大PK的笑话-Go语言

喜欢和不喜欢Go语言的都喜欢拿性能PK说事. 流传比较广的是benchmarksgame的PK数据: http://benchmarksgame.alioth.debian.org/u64q/go.php 在 benchmarksgame测试中, Go语言的性能已经由之前...

chai2010
2013/08/06
0
7
Dlang 2.080.0 版本发布,系统级编程语言

近期D语言在版本发布迭代速度上有明显提升,此次D语言 2.080.0 版本更新特性如下: 增强编译时特性可用性 提供更好的 Objective-C 兼容 废弃一些早期版本不推荐使用的类和方法 对标准库的多方...

冰力
05/13
0
0
LDC 1.9.0 发布,基于 LLVM 架构的 D 语言编译器

Kinke 代表LDC团队,很高兴地宣布LDC 1.9,这个版本的重点是: 编译器兼容 dlang 2.079.1 (引入了新的 -i 参数来支持最小D语言运行时); 支持 llvm 6,用于所有预构建包(Win32除外); 可...

冰力
05/13
0
3
Linux C++ 环境搭建 IDE选择 Code::Blocks

在linux下面IDE还是挺多的。 本来打算用elcipse的,但是发现了一个更好更快的C++IDE http://www.codeblocks.org/ Code::Blocks 是一个C++免费的跨平台IDE。 1,下载安装 下载地址: http...

freewebsys
2012/12/01
0
0
hunt framework v1.1.0 发布,帮助开发者提升效率

hunt framework 本次版本主要对易用性进行升级,为了能让更多PHP开发者更容易的去使用D语言框架我们也尝试的引入了类似PHP的一些函数定义。 本次版本主要改进如下: 增加Task工作模式 在Act...

冰力
06/22
0
0
Python过渡性模块重载(递归重载模块)

0.说明 因为正常情况下使用reload重载模块时只是重载顶层模块,对于模块内部的import语句并不会执行重载,也就是说,reload执行的重载只是针对顶层的,即top level only。 有必要写一个过渡性...

xpleaf
2017/02/01
0
0
D 语言数据库驱动层 - Dbal

Dbal 是 HuntLabs 开发的D语言(dlang)数据库驱动层,类似 PHP 的 PDO、JAVA 的 JDBC,内置连接池支持。 目前支持的数据库驱动: PostgreSQL 8+ MySQL 5.1+ SQLite 3+ 示例代码 import std...

冰力
05/14
0
0
Hunt framework 1.0.0 正式版,三年来最大更新

Hunt framework 通过三年的不断完善,HuntLabs 所有成员很高兴的对外宣布 hunt 1.0.0 正式版,经过了 0.4.x / 0.5.x / 0.7.x / 0.9.x / 0.10.x 的一些重要分支,我们改进了很多不方便使用的地...

冰力
06/04
0
23
Hunt framework 1.1.1 发布,可用性修复

Hunt是D语言编写的全栈 web framework,拥有和 C++ 相媲美的性能,有带来的和 PHP、JAVA 一样简单的使用方式,可以看做是 dlang 编写的 Laravel / Spring boot / Django / Rails 框架。 最近...

冰力
06/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如何进行大数据的入门级学习?

不知道你是计算机专业应届生还是已经从业者。总之,有java基础的学生学习大数据会轻松很多,零基础的小白都需要从java和linux学起。 如果你是一个学习能力特别强,而且自律性也很强的人的话可...

董黎明
13分钟前
0
0
使用Parcelable传递复杂参数

最近做AIDL传递对象,对象必须实现Parcelable的方法才可以被传递。 @Override    public int describeContents() {//这个 默认返回0就行了。        return 0;    }    ...

火云
14分钟前
0
0
十大Intellij IDEA快捷键

Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发...

HJCui
24分钟前
0
0
word 使用mathtype 编写 数学公式

下载安装,这个链接命名。。。。 http://www.mathtype.cn/xiazai.html 安装之后会多出一个选项 使用内联方式插入图表 编写公式的界面 设置支持latex 语法 输入公式回车就可以看到结果...

阿豪boy
42分钟前
0
0
Promise

定义 Promise是异步编程的一种解决方案,所谓Promise就是一个容器,里面保存着某个未来才会结束的事件(通常是一个一步操作)的结果。 特点: 2.1 对象的状态不受外界影响,三种状态pending...

litCabbage
53分钟前
1
0
设计模式:适配器模式

说明:在不改变旧接口代码的前提下,为该接口新增其他接口的功能 适配器模式可以分为:类适配器模式、对象适配器模式、接口适配器模式 前两种模式下,我会以播放器为例。老版的播放器(Playe...

人觉非常君
53分钟前
0
0
使用VsCode搭建Java开发环境,创建springboot应用

1、在 Visual Studio Code 中打开扩展视图(Ctrl+Shift+X),输入关键词java、spring分别下载Java开发插件包和springboot插件包 2、配置参数 点击设置按钮,进入设置选项,配置用户设置 在用户...

qsyan
57分钟前
22
0
调教属于你的“贾维斯”(给自己挖了一个很大的坑)

今天玩一下现在很火的人工智能。 废话不多说,先来看几张图: 看出什么蹊跷了吗? 再来看一个视频: https://www.zhihu.com/video/1002567561061511168 (演示网址和代码见文末) 人工智能离...

crossin
今天
1
0
ES10-检索入门

1.创建索引,准备数据 定义索引结构 DELETE telegraphPUT telegraph{ "mappings": { "msg":{ "properties": { "title":{ "type": "text", ...

贾峰uk
今天
1
0
css 三角形

1.无边框三角形 条件:width,height设置为0,border-width设置一定的宽度,border-color保留一边有颜色其他三边设置透明 .triangle{ width:0px; height:0px; border-width:40...

爱喝水的小熊
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部