我找不到一个优雅的ruby代码解决方案。基本上,ı想要通过c++来实现这一点
for (int i=0;i<list.length;i++)
{for(int k= i+1; k<list.length; k++)
{cout<< list[i]<<" "<<list[k]}}但不幸的是,我找不到一种优雅的方法在ruby中做到这一点。有人能帮我吗?
发布于 2018-08-10 19:25:39
mudasobwa的答案是相对直译的,但使用专门的方法Array#combination更为惯用
list.combination(2) do |el1, el2|
puts "#{el1} #{el2}"
end发布于 2018-08-10 19:20:33
下面的代码是未经测试的,但它应该可以工作。
list.each_with_index do |el1, idx|
list.drop(idx+1).each do |el2|
print [el1, el2].join(" ")
end
end这是cpp代码到ruby的精确的行到行的翻译。
https://stackoverflow.com/questions/51785344
复制相似问题