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看起来太痛苦了。
|