रूबी सरणी को अपने तत्वों के लगातार जोड़े की सरणी में बदलने का सबसे आसान तरीका क्या है?रूबी सरणी को लगातार जोड़े की सरणी में परिवर्तित करना
मेरा मतलब है:
x = [:a, :b, :c, :d]
अपेक्षित परिणाम:
y #=> [[:a, :b], [:c, :d]]
रूबी सरणी को अपने तत्वों के लगातार जोड़े की सरणी में बदलने का सबसे आसान तरीका क्या है?रूबी सरणी को लगातार जोड़े की सरणी में परिवर्तित करना
मेरा मतलब है:
x = [:a, :b, :c, :d]
अपेक्षित परिणाम:
y #=> [[:a, :b], [:c, :d]]
उपयोग Enumerable#each_slice
:
y = x.each_slice(2).to_a
#=> [[:a, :b], [:c, :d]]
[0, 1, 2, 3, 4, 5].each_slice(2).to_a
#=> [[0, 1], [2, 3], [4, 5]]
Hash[*[:a, :b, :c, :d]].to_a
चालाक है, लेकिन यह क्रम बनाए रखने के नहीं है। –
यह करता है (कम से कम रुबी 1.9.2dev में)। –
आकर्षक! http://www.igvita.com/2009/02/04/ruby-19-internals-ordered-hash/ –
धन्यवाद नहीं है! मैं किसी भी तरह से इस विधि को याद किया। –