如何在Ruby中重写这个JavaScript循环?

如何在Ruby中重写这个JavaScript循环?,javascript,ruby,Javascript,Ruby,代码: var-some_-var=[/*…….*/]; var比较法; 对于(变量i=0;i

代码:

var-some_-var=[/*…….*/];
var比较法;
对于(变量i=0;i如果(some_-var[i]去掉
var
关键字,将
for
循环更改为
some_-var.each
,您将得到一个Ruby中的工作代码


PS.StackOverflow中的代码翻译不正确

去掉var关键字,将for循环更改为一些变量,每个变量都可以使用Ruby获得一个工作代码

注:StackOverflow中的代码翻译不正确

我会使用neato:

def foo(arr,x)
a、b、a、b各一组|
返回一个if(a 40
这基本上为每一对创建了一个“滑动窗口”,当您找到包含目标值(x)的对时,您可以返回该对的第一项。

我将使用neato:

def foo(arr,x)
a、b、a、b各一组|
返回一个if(a 40
这基本上为每一对创建了一个“滑动窗口”,当您找到包含目标值(x)的对时,您可以返回该对的第一项。

这是一个单行:

var some_var = [/*.......*/];
var compare_var;
for (var i = 0; i < some_var.length - 1; i++){
    if (some_var[i] <= compare_var && compare_var < some_var[i + 1]){
        return some_var[i];
    }
}
some_var.select{v|v
这是一个单行程序:

var some_var = [/*.......*/];
var compare_var;
for (var i = 0; i < some_var.length - 1; i++){
    if (some_var[i] <= compare_var && compare_var < some_var[i + 1]){
        return some_var[i];
    }
}
some_var.select{v|v
如果他们先尝试一个解决方案,然后问一些具体的问题,这没关系。@MarkThomas Well海报只是想要一个翻译的代码,而不是一个优化的代码。我先尝试了一些东西,但无法用ruby完全理解。我更了解javascript,可以想象代码应该是什么样子,所以我重新编写了我想要的在ruby中使用javascript完成后,它就可以工作了。如果他们先尝试解决方案,然后问一些具体的问题,这没关系。@MarkThomas Well海报只是想要一个翻译的代码,而不是一个优化的代码。我先尝试了一些东西,但无法在ruby中完全理解。我更了解javascript,并且可以想象公司是如何做到的de应该看一下,所以我用javascript重新编写了我在ruby中所做的,然后使其工作。+1非常酷,尽管如果下限数字在数组的早期出现,那么“select”方法仍然会比较所有元素,而不是立即返回(这实际上只对非常大的数组有用).是的。我的理念是为了可读性而开发,然后在必要时提高性能。如果它是一个非常大的数组,我会以不同的方式来做。但请注意,此解决方案处理未排序的数组:-PThanks,数组不大,所以这很有魅力!+1+1非常酷,尽管如果下限数字出现在数组的早期,则“选择”方法仍将比较所有元素,而不是立即返回(这实际上只适用于非常大的数组).是的。我的理念是为了可读性而开发,然后在必要时提高性能。如果它是一个非常大的数组,我会以不同的方式来做。但请注意,此解决方案处理未排序的数组:-PThanks,数组不大,所以这很有魅力!+1FYI:
下限([30,50,40],42)#=>30
@MarkThomas:啊,也许我误解了上/下限的含义。我把函数名改成了不那么专横的=)仅供参考:
下限([30,50,40],42)#=>30
@MarkThomas:啊,也许我误解了上/下限的含义。我把函数名改成了不那么专横的=)