dotmars 0.0.0.1 发布

oldrev 2007-04-26
项目在 http://code.google.com/p/dotmars/source
已经实现的功能基本上可以用了,当然还局限在 windows 下,posix 的api我不太熟悉,暂时还没实现进去。

需要使用 dsource.org/projects/dsss DSSS 工具构建

能有的类有:

dotmars.Math
dotmars.Random
dotmars.runtime.DllImport
dotmars.runtime.Module
dotmars.io.BufferedStream;
dotmars.io.FileStream;
dotmars.io.MemoryStream;
dotmars.Variant
dotmars.Signals;
...
oldrev 2007-04-26
编译安装库:
/trunk/src$dsss build
/trunk/src$dsss install

编译例子程序:
/trunk/src/sample$dsss build

qiezi 2007-04-27
几个小疑问:

1、模块组织感觉不是很舒服,除了IO以外,其它都散着挂在dotmars下?
2、我看了Stream,readByte怎么返回int呢?读取失败时返回-1,它应该也是个合法的byte值嘛。
3、一个实现上的小问题:

	public ubyte[] toArray ()
	{
		uint l = m_length - m_initialIndex;
		ubyte[] outBuffer = new ubyte [l];

		outBuffer[0..l] = m_internalBuffer[m_initialIndex .. m_initialIndex + l];
		return outBuffer; 
	}

没必要new ubyte[l]再去赋值,new的时候会初始化一次。实际上使用数组的dup属性就可以复制了:
	public ubyte[] toArray ()
	{
		return m_internalBuffer[m_initialIndex .. m_length].dup;
	}

我没看错吧?应该不用先减一下再加。

就看出这些来,BufferedStream里面都比较长,没仔细看。
oldrev 2007-04-27
呵呵,都是抄 .net 的,返回 -1 可能比较方便吧
oldrev 2007-04-27
MemoryStream和BufferedStream 是从Mono移植过来的,ReadByte 的文档在这里
http://www.go-mono.com/docs/index.aspx?link=M%3aSystem.IO.Stream.ReadByte()

也可以看 MSDN 的
oldrev 2007-04-27
D 没有 namespace 也确实不好组织结构,看来只有学习tango了
qiezi 2007-04-27
D的module我感觉还不如java的package亚,module最后面必须和文件名相同,还不如改成package还能少打几个字母,改一下文件名还不用改这一行。
oldrev 2007-04-27
就是,感觉D是提倡把相同的东西都放到一个module里,但是单个文件太大没IDE看起来太痛苦了。
Global site tag (gtag.js) - Google Analytics