比方说,我有以下阵列:提供一个进程的方法作为一个块
arr = [[5, 1], [2, 7]]
,我想找到的最小元素,对比元素的第二个元素。最小元素将为[5, 1]
,因为1
小于7
。我可以使用下面的代码:
arr.min {|a,b| a[1] <=> b[1]}
用于计算最大,我可以这样做:
arr.max {|a,b| a[1] <=> b[1]}
这给了[2, 7]
。
我一直在使用同一个块。我希望将该块放在某处并将其提供给最小/最大功能。我希望像这样:
blo = lambda {|a,b| a[1] <=> b[1]}
arr.min blo
会工作,但它没有。有关我如何做到这一点的任何想法?
唯一一个,仔细阅读问题。 – Nakilon 2010-10-18 23:22:12
这正是我所寻找的。非常感谢答复! – 2010-10-19 11:22:36
@Cristobal也许你应该“接受”你满意的答案。它向其他用户表明该问题已被回答并被接受。 – 2010-12-23 11:43:09