《mixin 模拟多继承》的相关内容
相关讨论
D语言与tpl之编译期动作
最近D语言发布了1.0版,这是一个由编译器开发者所设计的编译语言,语法类似C++, 但是针对C++的弊病作了大量修正,并增加了很多现代特征,其中还是有一些新意在其中的。http://www.digitalmars.com/d/overview.html 我对其比较感兴趣的部分是D语言明确提出的编译期运行的概念。虽然C++让大众了解了meta programming技术,很 ...
by canonical 2007-03-04 浏览 (8074) 回复 (21) 关键字: 设计理论
lambda之路...
DMD最近的版本号加入了闭包,感觉非常有用,虽然有些背后动作,不过我是实用派不介意这个。玩的时候忽然想到为什么没有lambda呢?AST还没影,不过可以利用D强大的模板可以使用字符串来先模拟一下。
我假想的语法是这样的:
int[] arr = [1,2,3];
int[] arr1 = arr.map(lambda!("int x -> x * x"));
上面执行的arr1结果将 ...
by qiezi 2007-11-09 浏览 (2868) 回复 (15) 关键字:
D语言动态创建对象-D最新功能
我认为这是D提供的又一个重量级的功能.闲言少叙,代码说话!
保存为cre.d,使用dmd cre.d编译.
module cre;
import std.stdio;
interface IPrinter
{
void print();
void init(char[] a);
}
class foo :IPrinter
{
void prin ...
by ideage 2007-03-27 浏览 (6534) 回复 (11) 关键字: d最新功能 动态创建 插件 ioc
头文字D,Spider
贴一段我用D写的Spider的代码。
越来越爱D了。
import std.stdio;
import std.string;
import std.conv;
import std.socket;
import std.socketstream;
import std.stream;
import std.regexp;
import std.thread;
import ...
by fxsjy 2007-10-12 浏览 (1065) 回复 (0) 关键字: 爬虫
深入浅出J2SE 5.0 枚举类型(aka Enum<E extends Enum<E>
深入浅出J2SE 5.0 枚举类型(aka Enum<E extends Enum<E>>)
(累死了。。)
原作者: Matt Quail (a.k.a. Spud)
翻译自:http://madbean.com/blog/2004/3/
原作基于 http://creativecommons.org/licenses/by/2.0/
翻译者 xangd xang ...
by xangd 2004-07-30 浏览 (8364) 回复 (9) 关键字:
相关博客
D1.0代码模拟 __traits(hasMember, ...)
通过1.0的代码完全模拟了 D 2.0 __traits(hasMember...) 和部分 getMember 的功能:
import std.stdio;
template HasMember(T, string member) &nbs ...
by oldrev 2007-10-08 浏览 (3744) 回复 (14) 关键字:
模板混入 2.014
(本章无版本差异)
一个 模板混入 指的是从一个 模版声明 的过程体内 提取一个任意的声明 集合,并将它们插
入到当前的上下文中。
模板混入:
mixin 模板标识符 ;
mixin 模板标识符 混入标识符 ;
mixin 模板标识符 !(模板参数列表 ) ;
mixin 模板标识符 !(模板参数列表 ) 混入标识符 ;
混入标识符:
标识符
模版混入 可以出现在模块、类、结构、联合的声明列 ...
by hqs7636 2008-06-05 浏览 (58) 回复 (0) 关键字:
Traits 特征 2.014
6.14 翻译
(d语言的反射,刚刚翻译了2/3了,浏览器异常退出,气死我。 6.14)
重来了
1.028里没有,谁能翻译一下
请参考:
C++ Traits http://www.cnblogs.com/hush/archive/2004/03/10/2717.html
C++ Type traits http://jjhou.csdn.net/programmer-6-type-tr ...
by hqs7636 2008-06-07 浏览 (149) 回复 (4) 关键字:
相关圈子讨论
回复“mixin模拟多继承”
论坛回复坏掉了,先回复在这。批评一下,经常这样可不行咯,这应该算是比较大的运维事故。
必须mixin模板?这是一个限制呀,通常大家都是写成类的,在类上面多继承。。。
我好像没看到程序调用到ctor和dtor,mixin模板本身是可以直接用this/~this的,它会按照mixin的顺序来调用,不需要自己实现ctor/dtor,D里面早就是用mixin来代替多继承了。
by qiezi 2007-11-11 浏览 (294) 回复 (8)
元编程应用之:编译期 DLL 包装类
大家好!我刚加入,感觉这里是唯一的中文D语言论坛,真不容易啊。
发一个我写的元编程例子:
// dll.d
// A simple DLL wrapper
// Author: Oldrev (wstring#AT#gmail.com)
import std.c.windows.windows;
import std.stdio;
import std.traits;
imp ...
by oldrev 2007-02-24 浏览 (1606) 回复 (10)
关于模板混入同名声明被外部覆盖的问题
D模板混入有这样的规定:
Mixin Scope
The declarations in a mixin are 'imported' into the surrounding scope. If the name of a declaration in a mixin is the same as a declaration in the surrounding scope, the surro ...
by tuja 2007-09-14 浏览 (216) 回复 (2)
模板中的variadic 参数类型自动推导的问题
如下面代码中,没有调用模板时,编译能通过
template test(T, R)
{
void test(T t, R r...)
{
foreach(v; r)
Stdout(v).newline;
}
}
如果这样调用:
test("a", "b","C");
编译时就会出错,说参数个数不一致。
而用这样 ...
by tuja 2007-09-30 浏览 (264) 回复 (3)
谁能帮解释一下这是为什么
import std.stdio;
interface mix
{
void print(char[]);
}
template mixtem()
{
void print(char[] t)
{
writefln(t);
}
}
class A
{
void print()
{
writefln("A");
}
void print(int a)
{
writ ...
by purple_jade 2007-12-10 浏览 (516) 回复 (7)
相关新闻
推荐Steve Yegge:Rhino on Rails在服务器端JVM中运行JavaScript
Steve Yegge在google I/O大会上发表了演讲:Rhino on Rails -- Server-side JavaScript on the Java Virtual Machine。
使用Rhino能够用JavaScript完成Java在server端完成的所有工作!
什么是Rhino?
1。用JavaScript实现Java JavaScript implemente ...
by QQbyte 2008-06-17 浏览 (1257) 回复 (11) 关键字:
一个Java的Restful服务框架,支持JPA、JAAS、分布式资源对象
项目地址: http://code.google.com/p/jrest4guice/
Demo演示: http://cnoss.vicp.net/
当前版本:0.9.0 preview
特点:
基于Google guice
零配置,服务的自动扫描注册
非侵入式,用户不需要实现特定的接口来实现Restful服务
支持Post. Get. Put. Delete操作
灵活的注入(支持上下文环 ...
by cnoss 2008-06-15 浏览 (2759) 回复 (11) 关键字: rest
基于JavaScript的代码自动生成工具
JavaScript Based Code Generator - codegen 工具主页http://sourceforge.net/projects/jbcgen/目的快速生成程序代码, 比如Struts, Spring, Jdbc/Hibernate所有前后台的代码.简单介绍本工具生成代码的思想是读取数据库中表的结构, 使用JavaScript作为脚本语言编写模板, 生成各种代码或者文件, ...
by jejwe 2008-03-06 浏览 (3283) 回复 (2) 关键字:

