ruby - benefits - কিভাবে নিরাপদ রুটি যোগ pathname যোগ করবেন?



(2)

আমার রেল উন্নয়ন পরিবেশ উইন্ডোজ ভিত্তিক, এবং আমার উত্পাদন পরিবেশ লিনাক্স ভিত্তিক।

এটা সম্ভব যে VirtualHost ব্যবহার করা হবে। File.open('/tmp/abc.txt', 'r') সহ একটি ফাইলের নাম /public ফোল্ডারে উল্লেখ করা প্রয়োজন।

কিন্তু উইন্ডোজ এ এটি C:\tmp\abc.txt হওয়া উচিত। কিভাবে আমি দুটি পৃথক পরিবেশ হ্যান্ডেল করতে একটি সঠিক পথ যোগ দিতে পারি?

prefix_tmp_path = '/tmp/'
filename = "/#{rand(10)}.txt"

fullname = prefix_tmp_path + filename # /tmp//1.txt <- but I don't want a double //

এবং যখন prefix_tmp_path = "C:\tmp\" আমি C:\tmp\/1.txt

উভয় ক্ষেত্রে হ্যান্ডেল সঠিক উপায় কি?


আমি File.join ব্যবহার করে সুপারিশ

>> File.join("path", "to", "join")
=> "path/to/join"

এক জিনিস নোট। উইন্ডোজ সহ সকল প্ল্যাটফর্মগুলিতে রুবি একটি "/" ফাইল বিভাজক জন্য "/" ব্যবহার করে, তাই আপনাকে আসলে বিভিন্ন প্ল্যাটফর্মগুলিতে জিনিসগুলি একত্রিত করার জন্য বিভিন্ন কোড ব্যবহার করতে হবে না। "সি: / tmp / 1.text" ভাল কাজ করা উচিত।

File.join() একসঙ্গে পাথ যোগদান করার জন্য আপনার বন্ধু।

prefix_tmp_path = 'C:/tmp'
filename = "#{rand(10)}.txt"
fullname = File.join(prefix_tmp_path, filename) # e.g., C:/tmp/3.txt




ruby