Ruby 为什么给定的表达式在IRB中花费如此长的时间

Ruby 为什么给定的表达式在IRB中花费如此长的时间,ruby,irb,Ruby,Irb,你知道为什么以下简单表达式在IRB中持续这么久吗 irb(main):003:0> res='a'*(10**6) 它在结束前运行了几分钟 然而,为puts方法f.E.提供相同的表达式是瞬时的: irb(main):003:0> puts('a'*(10**6)) 我刚刚发现这是由从.irbrc启动文件加载的Wirb模块引起的。 通过注释,这两个示例现在运行速度相当快。我的第一个示例也是即时的。和第二个一样。对我来说,两个都有相同的速度。我想这一定与您的特定设置有关。@Mark:

你知道为什么以下简单表达式在IRB中持续这么久吗

irb(main):003:0> res='a'*(10**6)
它在结束前运行了几分钟

然而,为puts方法f.E.提供相同的表达式是瞬时的:

irb(main):003:0> puts('a'*(10**6))

我刚刚发现这是由从.irbrc启动文件加载的Wirb模块引起的。
通过注释,这两个示例现在运行速度相当快。

我的第一个示例也是即时的。和第二个一样。对我来说,两个都有相同的速度。我想这一定与您的特定设置有关。@Mark:您可能正在使用1.9?我可以用1.8.7看到速度差。是的,我用的是1.9。我没想到要试穿1.8.7。我在1.9.2-p0和1.8.7-p248中看到了时差,你在用什么操作系统?