繁体   English   中英

不同机器上红宝石中不同的“ upto”行为(“ upto”:未指定任何块(LocalJumpError))

Different 'upto' behavior in ruby on difference machines (`upto': no block given (LocalJumpError))

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

此代码在一台机器上有效,但在另一台机器上无效:

puts 1.upto(5)

在工作机器上,代码返回“#”。

在另一台计算机上,我收到此错误:

test.rb:1:在'upto'中:没有来自test.rb:1的块(LocalJumpError)

两台机器都有导轨2.2.2。 可以使用此代码的计算机上的Ruby 1.8.7,而不能使用此代码的两台计算机上,分别是Ruby 1.8.6和Ruby 1.8.7企业版。

2 个回复

是的,在红宝石1.8.6中最多需要一个块,而在1.8.7中则不需要。

因此,解决方案是升级到1.8.7或使用块或执行1 ... 4.to_a。

要在1.8.6中获得1.8.7+的行为,您可以执行以下操作:

require 'enumerator'
1.enum_for(:upto, 5)

它在所有版本上都相同,并且在功能上等效于1.upto(5),而在1.8.7+中没有阻止(尽管有些冗长)。

尽管在这种特定情况下,您当然可以使用范围。

1 红宝石中“do .. end”和“{..}”块的不同行为[重复]

这个问题在这里已有答案: Ruby中这些块编码样式的区别或价值是什么? 7个答案 很抱歉,这个问题是重复的。 但我无法找到使用上的差异。 当我运行以下代码时,我得到了不同的答案。 我从大多数教程中看到,使用“do ... end”与“{...}”块相同。 ...

2016-06-05 03:24:17 3 85   ruby
2 不同机器上的不同照明行为

我最近尝试用OpenGL在C ++中制作一个.obj网格加载器,但遇到一个奇怪的问题。 我有一个std::vector<Vector3f>代表脸部顶点的坐标,另一个代表其法线。 在我的Vector3f ,有一个std::array<float,3>所以我可以保留元 ...

3 phpunit在不同机器上的行为不同

我为我的PHP应用程序编写了一些PHPUnit测试。 我正在两台用于同步整个开发文件系统的开发机器上工作,并且有一个自动测试系统可以在干净的svn签出上运行测试。 现在,发生了一些奇怪的事情。 其中一台开发机器运行Ubuntu Linux 10.10,PHP 5.3.3,phpunit ...

4 红宝石中的乘法行为

这个问题已经在这里有了答案: 表示中的浮点错误? 2个答案 对于乘法,红宝石的行为是24.0 * 0.1不是2.4 。 为什么会这样? ...

5 在红宝石中,什么时候块不是块? [重复]

这个问题已经在这里有了答案: Ruby块和非括号参数 1答案 除了笑话,我有一个奇怪的情况,我有一些代码: 我正在查看它是否像这样工作: 问题在于,ruby似乎认为我没有将块传递给remotes功能。 为什么红宝石坚持说我没有通过障碍物? ( ...

7 Talend猜测两个不同机器中的架构行为

我正在使用Talend 6.0.1。 在两个使用类似配置的不同Windows机器上 机器1-使用Windows Server 机器2-在Google Cloud上 两者中的Talend连接到ms SQL Server当我使用猜测模式Machine1将相同类型的数据类型 ...

2017-04-19 06:46:00 0 38   talend
8 红宝石中的条件块错误[重复]

该问题与以下内容完全相同: Ruby三元运算符和方法调用 1个答案 鉴于这部分代码有效, 我不明白为什么这部分代码没有: 我不知道为什么在第二个示例中程序会立即进入else块。 有人可以解释这怎么可能吗? ...

9 单行红宝石语句中有块和if子句的奇怪行为

我不知道为什么这两段代码在Ruby 1.8.7中的行为不同,因为其中一个似乎是另一个的单行版本。 第一部分代码(它应该工作): 单行版本(根本不起作用,没有错误,但似乎也没有执行): 注意:我正在使用squeel gem,这就是块遵循where方法的原因。 另外,变量类型 ...

10 Rails中的LocalJumpError(未提供块)

此方法在我的本地计算机上可用,但在我的远程服务器上不起作用。 它正在寻找一个街区,但我不知道将其放置在“何处”或“如何”。 错误: 更新 如果将在此控制器焦点内的任何位置调用will_paginate,它将运行此函数。 第170行附近的Finder.rb 由 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM