मेरे पास एक स्ट्रिंग है:
"/system/path/513/b02/36a/66ea2557[*,0].swf,16"
मैं अपने आवेदन के लिए पटरियों पर रूबी का उपयोग कर रहा हूं। मैं कुछ पाने के लिए 66ea2557 के अंत में 1-16 जोड़कर 16 यूआरएल बनाने की कोशिश कर रहा हूं:
"/system/path/513/b02/36a/66ea25571.swf"
"/system/path/513/b02/36a/66ea25572.swf"
..
"/system/path/513/b02/36a/66ea255715.swf"
"/system/path/513/b02/36a/66ea255716.swf"
रूबी में मैं यह कैसे कर सकता हूं?
उत्तर:
जवाब के लिए 2 № 1मानाकि:
- आपको दिया गया है
"/system/path/513/b02/36a/66ea2557[*,0].swf,16"
कहीं से शायद आपके नियंत्रण से बाहर और इसे पार्स करने की आवश्यकता है - जो नंबर
16
स्ट्रिंग के अंत में "हर बार समान होना जरूरी नहीं है और आपके द्वारा आवश्यक url की संख्या को दर्शाता है - आपको जरूरत नहीं है
[*,0]
कुछ के लिए स्ट्रिंग का हिस्सा है और यह जरूरी नहीं है कि कुछ भी दर्शाता है
मेरे द्वारा लाया गया:
string = "/system/path/513/b02/36a/66ea2557[*,0].swf,16"
base_path, _, file_extension, num_urls = string.split(/([*,0])|,/)
# => ["/system/path/513/b02/36a/66ea2557", "[*,0]", ".swf", "16"]
(1..num_urls.to_i).map { |i| "#{base_path}#{i}#{file_extension}" }
# => ["/system/path/513/b02/36a/66ea25571.swf",
"/system/path/513/b02/36a/66ea25572.swf",
...
"/system/path/513/b02/36a/66ea255716.swf"]
जवाब के लिए 0 № 2
(1..16).each do |i|
puts "/system/path/513/b02/36a/66ea2557#{i}.swf"
end
जवाब के लिए 0 № 3
आप सरल लूपिंग की कोशिश कर सकते हैं। कुछ इस तरह:
#test.rb
arr = Array.new();
for i in 1..16
arr[i-1] = "/system/path/513/b02/36a/66ea2557" + i.to_s;
end
puts arr;
जवाब के लिए 0 № 4
आप उपयोग कर सकते हैं स्ट्रिंग #%:
path = "/system/path/513/b02/36a/66ea2557%s.swf"
(1..16).map {|index| path % index}