farklı uzunlukta diziler serpiştirmek ve her dizi aynı uzunlukta olduğu nasıl biz böylece yapabilirdi diziler farklı boyutlarda olabilir eğer bu sorunu çözmek?Ben Ruby diziler kümesini serpiştirmek istiyorum Ruby
def interleave(*args)
raise 'No arrays to interleave' if args.empty?
max_length = args.inject(0) { |length, elem| length = [length, elem.length].max }
output = Array.new
for i in 0...max_length
args.each { |elem|
output << elem[i] if i < elem.length
}
end
return output
end
Ama daha iyi bir 'Ruby' yolu vardır belki zip kullanarak veya devrik ya da bazı tür:
Biz böyle bir şey yapabilir?
Teşekkür, args.map kabul etmemişti (&: boyut). Aslında, bu yaklaşımı daha önce görmemiştim. Max_length.times, benim for döngüsümden de daha temiz. – ChrisInEdmonton
Ve daha kısa dizileri nils ile doldurmayı, onları serpiştirmeyi ve daha sonra çivileri sıkıştırmayı düşündüm. Bu harika ve eğer kaynak dizilerinizde herhangi bir boşluk olmadığından emin olursanız harika olur. :) – ChrisInEdmonton