标签: ironruby

IronRuby表现如何?

虽然我知道IronRuby还没有为世界使用它做好准备,但我想知道是否有人在这里试过它并测试它在原始性能方面与其他Rubies的对比度如何?

如果是这样,结果是什么,你是如何衡量绩效(哪些基准等)?

编辑:IronRuby团队在http://ironruby.info/上维护一个关于他们如何与Ruby MRI 1.8进行比较的网站.在规格通过率表下方,他们还有一些关于IronRuby如何在这些规范上执行的信息.此表不会不断更新,但我认为它们经常更新(您可以在页面顶部看到最后一次更新).

.net ruby performance ironruby

3
推荐指数
1
解决办法
2126
查看次数

我可以在ironruby中运行rubygems吗?

目前是否有可能预先释放ironruby来运行rubygems?好像我必须设置一个环境变量才能找到它们?

rubygems ironruby

3
推荐指数
1
解决办法
2133
查看次数

如何将Ruby嵌入XNA引擎?

我想知道是否可以将Ruby作为Microsoft XNA中的脚本语言嵌入,以及最好的方法是什么.我正在寻找像Xnua这样的东西,除了Ruby.

我偶然发现了Ruby.NET和IronRuby,两者似乎都处于非常早期阶段,所以我不确定它们有多可用.此外,我不确定他们是否可以使用Xbox 360.例如,XNA论坛上的这个话题说IronPython不起作用.

.net ruby scripting xna ironruby

3
推荐指数
1
解决办法
1842
查看次数

目前动态类型的.NET Web开发有哪些选项?

您目前有哪些动态类型的.NET Web开发选项?

Ruby on Rails与IronRuby?

Django(有一些改动)和IronPython?

不要想去Phalanger路线.我已经完成了PHP.

我假设有一些方法可以使ASP.NET MVC更具动态性......但是你可以在.NET 3.5中充分利用它吗?还有Haack/Lam/Schementi所做的工作.帖子有人看得很近吗?

FubuMVC和MonoRail可以用动态语言做什么?我对他们不太熟悉.

.net asp.net asp.net-mvc ironpython ironruby

3
推荐指数
1
解决办法
223
查看次数

IronRuby ScriptSource.Execute线程是否安全?

我们通过托管IronRuby引擎实现了表达式评估器.您可以在此处看到评估者的简化版本.

现在我们试图通过在许多线程中执行表达式来获得IronRuby的更多性能(我们得到了它).一个问题困扰我们 - Execute方法线程是否安全?

.net performance multithreading ironruby expression-evaluation

3
推荐指数
1
解决办法
439
查看次数

在最低安全性上下文中运行DLR嵌入式脚本

我需要指出正确的方向.我已经将Iron Python脚本主机嵌入到一个简单的C#应用​​程序中,但现在我需要了解锁定用户生成的IronPython或IronRuby脚本的安全性的最佳实践.

具体来说,什么是防止库导入的策略,并且在.NET中没有办法在不同的安全上下文中运行代码块或线程,例如防止文件系统访问?此外,是否可以为此上下文分配内置级别或角色而不是实际用户?

谢谢!

.net c# ironpython ironruby dynamic-language-runtime

3
推荐指数
1
解决办法
359
查看次数

从IronPython调用C#对象方法

我正试图在我的游戏中嵌入脚本引擎.由于我是用C#编写的,我认为IronPython非常合适,但我能够找到的例子都集中在用C#调用IronPython方法而不是IronPython脚本中的C#方法.

更复杂的是,我在Windows 7 64位上使用Visual Studio 2010 RC1.

IronRuby的工作方式与我预期的一样,但我对Ruby或Python语法不是很熟悉.

我在做什么:

        ScriptEngine engine = Python.CreateEngine();
        ScriptScope scope = engine.CreateScope();

        //Test class with a method that prints to the screen.
        scope.SetVariable("test", this); 

        ScriptSource source = 
          engine.CreateScriptSourceFromString("test.SayHello()", Microsoft.Scripting.SourceCodeKind.Statements);

        source.Execute(scope);
Run Code Online (Sandbox Code Playgroud)

这会产生错误,"'TestClass'对象没有属性'SayHello'"

使用"self.test.SayHello()"时,这个确切的设置适用于IronRuby

我使用IronRuby时很谨慎,因为它看起来并不像IronPython那样成熟.如果它足够接近,我可能会接受它.

有任何想法吗?我知道这必须是简单的事情.

c# ironpython ironruby

3
推荐指数
1
解决办法
3938
查看次数

当通过C#程序加载(铁)ruby脚本时,为什么'require'语句会失败?

IronRuby和VS2010 noob问题:

我正试图做一个尖峰来测试C#项目和现有RubyGem之间的互操作的可行性,而不是重新发明.net中的特定轮.我已经下载并安装了IronRuby和RubyGems包,以及我最终想要使用的gem.

运行.rb文件或在iirb Ruby控制台中工作没有问题.我可以加载RubyGems包和gem本身并使用它,所以,至少对于那个用例,我的环境设置正确.

但是,当我尝试在C#(4.0)控制台应用程序中执行相同类型的操作时,它会抱怨第一行:

require 'RubyGems'
Run Code Online (Sandbox Code Playgroud)

有错误:

 no such file to load -- rubygems
Run Code Online (Sandbox Code Playgroud)

我的控制台应用程序如下所示:

using System;
using IronRuby;
namespace RubyInteropSpike
{
    class Program
    {
        static void Main(string[] args)
        {
            var runtime = Ruby.CreateRuntime();

            var scope = runtime.ExecuteFile("test.rb");
            Console.ReadKey();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

删除依赖项,只是做一些基本的自包含Ruby工作正常,但包括任何类型的'requires'语句似乎导致它失败.

我希望我只需要在创建它时将一些额外的信息(路径等)传递给ruby运行时,并且真的希望这不是某种限制,因为这会让我感到难过.

c# rubygems ironruby .net-4.0 visual-studio-2010

2
推荐指数
1
解决办法
1127
查看次数

Ruby中的可选parens用于带大写起始字母的方法?

我刚开始使用IronRuby(但是当我在普通Ruby中测试它时,行为似乎是一致的)我的.NET应用程序中的DSL - 作为其中的一部分,我定义了通过define_method从DSL调用的方法.

但是,在调用以大写字母开头的方法时,我遇到了关于可选parens的问题.

鉴于以下计划:

class DemoClass
    define_method :test do puts "output from test" end
    define_method :Test do puts "output from Test" end

    def run
        puts "Calling 'test'"
        test()
        puts "Calling 'test'"
        test
        puts "Calling 'Test()'"
        Test()
        puts "Calling 'Test'"
        Test
    end
end

demo = DemoClass.new
demo.run
Run Code Online (Sandbox Code Playgroud)

在控制台中运行此代码(使用普通红宝石)会产生以下输出:

ruby .\test.rb
Calling 'test'
output from test
Calling 'test'
output from test
Calling 'Test()'
output from Test
Calling 'Test'
./test.rb:13:in `run': uninitialized constant DemoClass::Test (NameError)
    from ./test.rb:19:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我意识到Ruby约定是常量以大写字母开头,并且Ruby中方法的一般命名约定是小写的.但是parens目前正在杀死我的DSL语法.

有没有解决这个问题的方法?

ruby ironruby

2
推荐指数
1
解决办法
363
查看次数

powershell和ruby之间的区别

我是动态语言界的新手,并试图找到一个好的起点.

看看微软如何减少Iron Ruby在其产品中的作用,我正在寻找一种将在dotNET平台上支持的动态编程语言.您是否可以列出在一个而不是另一个中找到的特定功能,以帮助您进行选择.

.net powershell ironruby dynamic-languages

2
推荐指数
1
解决办法
2312
查看次数

在Silverlight 2中,DLR语言与C#之间的速度有何不同?

对于Silverlight 2,看起来编程选择是:

  • C#
  • VB
  • DLR脚本语言
    • IronRuby的
    • IronPython的
    • 一个可悲的被忽略(如果没有取消)托管的jScript

这种情况下,本地语言(C#和VB)比DLR语言快一个数量级左右?

当我进行Silverlight客户端编程时,有没有希望在IronPython中"生活",或者我是否应该为处理器密集型工作投入C#?

我对语言的调查来自C#和VB的这组例子以及讨论DLR的这个页面.

c# silverlight ironpython ironruby silverlight-2.0

0
推荐指数
1
解决办法
551
查看次数

Ruby .each删除集合中的项目

我目前正在使用一个应用程序,它允许通过rub脚本添加和删除下拉列表中的项目.Ruby看起来像这样

SAFE = ;
return control if control.CyclesCount == 0;
control.Items.each{|item| control.Items.Remove(item) if item.Value.index('|').nil?};
return control;
Run Code Online (Sandbox Code Playgroud)

control是自定义用户控件,其Items是ListItemCollction.我正在通过单元测试运行,以使我的Ruby代码正确并遇到麻烦.我传入的ListItemColletion看起来像这样..

var lic = new ListItemCOllection {
  new ListItem {Text = "Item2", Value = "8"}, 
  new ListItem {Text = "Item1", Value = "1"},
  new ListItem {Text = "Item3", Value = "3|1"},
  new ListItem {Text = "Item4", Value = "4"},
  new ListItem {Text = "Item5", Value = "5|2"},
  new ListItem {Text = "Item6", Value = "6"}
}
Run Code Online (Sandbox Code Playgroud)

此代码似乎总是在items集合中留下3个项目,而不是将2个项目与管道放在一起.3取决于我放置项目的顺序(按此顺序,Item1,Item3,Item5左转)这使我相信它的删除被搞砸了.我还尝试了一个集合的副本,循环它,从原始中删除,以便我没有从我正在迭代的集合中删除.我是Ruby的忠实用户,所以对我很轻松......但我可以使用一些建议.

谢谢

c# ironruby

0
推荐指数
1
解决办法
2689
查看次数