如何在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:啊,也许我误解了上/下限的含义。我把函数名改成了不那么专横的=)