编译:
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"
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)