文档章节

d语言之模块重载

轻舞凋零
 轻舞凋零
发布于 2016/02/01 14:48
字数 140
阅读 30
收藏 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
Hunt framework 0.7.0 正式版发布,高效至上

Hunt是D语言编写的全栈web framework,拥有和C++相媲美的性能,有带来的和PHP、JAVA一样简单的使用方式,让我们能简单的编写高性能的业务逻辑代码。 经过了10个beta版本的迭代,有非常多的特...

冰力
2017/05/05
1K
21
Tiobe 2011年10月编程语言排行榜

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

hmly
2011/10/19
6K
28
开源的系统级编程利器:D语言

在Digital Mars公司的D语言首 页上,放置着这样一段话“计算机编程语言门类众多,其来源大致可分为两种途径。一类新语言来自于极具创新精神的学术界;而一类则源于关注研发结合和互联网 的新...

小卒过河
2011/10/11
4.8K
21
2011年9月编程语言排行榜:D语言重返Top 20

Tiobe公布了最新的2011年9月编程语言排行榜,其中D语言取代在8月第一次进入Top 20的F#语言,重返前20。和F#第一次进入Top 20不同,D语言并非首次进入,它从2007年至2009年中期,一直在Top 2...

vVqsGHcN
2011/09/13
2.2K
5

没有更多内容

加载失败,请刷新页面

加载更多

求推广,德邦快递坑人!!!!

完全没想好怎么来吐槽自己这次苦逼的德邦物流过程了,只好来记一个流水账。 从寄快递开始: 2019年1月15日从 德邦物流 微信小app上下单,截图如下: 可笑的是什么,我预约的是17号上门收件,...

o0无忧亦无怖
昨天
3
0
Mac Vim配置

1.升级 vim   我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim --with-lua --with-override-system-vim 这将下...

Pasenger
昨天
4
0
vmware安装Ubuntu上不了网?上网了安装不了net-tools,无法执行ifconfig?

1.重新设置网络适配器还是不行,如下指定nat 2.还需要指定共享网络,我是在无线环境下 3.无法执行ifconfig https://packages.ubuntu.com/bionic/net-tools到这个网站下载net-tools的deb文件...

noob_chr
昨天
1
0
解决SVN:E210007无法协商认证机制

svn:E210007 svn: Cannot negotiate authentication mechanism 执行下面代码即可 sudo yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-ldap...

临江仙卜算子
昨天
2
0
java8的时间和`Date`的对比

java8的时间和Date的对比 java8提供了新的时间接口。相对Date,Calendar,个人感觉最大的好处是对时间操作的学习成本很低,比Calendar低。 1. LocalDate,LocalTime,LocalDateTime LocalDate 代...

北风刮的不认真了
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部