编译IronRuby项目和修复其中的一些bugs

编译:

1.下载了源代码,并且安装了.net framework

2.因为.net framework安装时的bug,所以一定要检查一下%frameworkdir%,%frameworkversion%这两个环境变量的位置,我直接修改的build.cmd文件,使用了msbuild的绝对位置:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild.exe /p:Configuration=Release /t:Rebuild IronRuby.sln

3.保存Build.cmd,在console下运行它,不出意外的话将成功编译。

测试一个bug:

1  a = " fanweixiao "
2  " fanweixiao "
3  b = "  维生素C.net "
4  "  维生素C.net "
5  c = a + b
6  " fanweixiao 维生素C.net "
7  a
8  " fanweixiao 维生素C.net "

大家可以看到变量a也变成a+b了

修复这个bug

找到Ruby\Builtins\MutableStrings.cs的Concatenate(MutableString self, MutableString other)方法:

很明显self.Append(other)会导致self自己发生改变,那么我们改写这个方法:

再次编译运行rbx.exe,已经被修复了。

其他:

正如大家看到的一样,这只是一个Pre-Alpha版本,有许许多多的细节还不完善,不过如果想将其尽快应用上,有些文章能派上用场:

FePy对math方面的修复和扩展

WPF Sample in IronRuby talking via C# to Wesabe

IronRuby with .Net 3.x and Windows Presentation Foundation (WPF)

你可能感兴趣的:(编译IronRuby项目和修复其中的一些bugs)