मैं एक सरणी को तारों और तारों के मिश्रण के साथ सॉर्ट करने की कोशिश कर रहा हूं। उदाहरण के लिए ले लो:चींटियों और तारों की सरणी को कैसे क्रमबद्ध करें?
a = ["a", "b", 5, "c", 4, "d", "a1", "a12", 3, 13, 2, "13a", "12a"]
मैंने कोशिश की:
a.sort do |x, y|
if x.class == y.class
x <=> y
else
x.class.to_s <=> y.class.to_s
end
end
कौन देता है:
[2, 3, 4, 5, 13, "12a", "13a", "a", "a1", "a12", "b", "c", "d"]
परिणाम मैं चाहता है:
[2, 3, 4, 5, "12a", 13, "13a", "a", "a1", "a12", "b", "c", "d"]
क्या आपके तारों में एक से अधिक संख्या हो सकती है, उदाहरण के लिए '" A1B2C3 "'? – Stefan
क्या सही है? '[" ए 1 "," ए 12 "," ए 2 "]' या '[" ए 1 "," ए 2 "," ए 12 "]'? – Stefan
@Stefan एक स्ट्रिंग में एक से अधिक संख्या होने की संभावना है। उत्तरार्द्ध '[" ए 1 "," ए 2 "," ए 12 "]' –