উত্তর:
রুবি ফাইল বর্গ আপনি ইনস এবং এর আউট দেব ::newএবং ::openকিন্তু তার পিতা বা মাতা, আই বর্গ , গভীরতা মধ্যে পায় #readএবং #write।
আপনি নিম্নলিখিত খুঁজছেন?
File.open(yourfile, 'w') { |file| file.write("your text") }
yourfileএকটি পরিবর্তনশীল যা ফাইলটির নাম লেখার জন্য ধারণ করে।
f.writeকোনও ব্যতিক্রম উত্থাপন করা হয় তবে ফাইল বিবরণকারীটি খোলা থাকবে ।
File.write('filename', 'content')
IO.write('filename', 'content')
আপনি সংক্ষিপ্ত সংস্করণটি ব্যবহার করতে পারেন:
File.write('/path/to/file', 'Some glorious content')
এটি লিখিত দৈর্ঘ্য ফেরত দেয়; দেখতে :: লেখ আরো বিস্তারিত জানার এবং বিকল্পের জন্য।
ফাইলটিতে যুক্ত করার জন্য, এটি ইতিমধ্যে বিদ্যমান থাকলে, ব্যবহার করুন:
File.write('/path/to/file', 'Some glorious content', mode: 'a')
এটি বেশিরভাগ ক্ষেত্রেই পছন্দসই পদ্ধতি:
File.open(yourfile, 'w') { |file| file.write("your text") }
যখন কোনও ব্লকটি পাস করা হয় File.open, ব্লকটি বন্ধ হয়ে গেলে ফাইল অবজেক্টটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়।
আপনি যদি কোনও ব্লক পাস না করেন File.open, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে ফাইলটি সঠিকভাবে বন্ধ হয়েছে এবং ফাইলটি লিখিত হয়েছে content
begin
file = File.open("/tmp/some_file", "w")
file.write("your text")
rescue IOError => e
#some error occur, dir not writable etc.
ensure
file.close unless file.nil?
end
আপনি এটি ডকুমেন্টেশনে খুঁজে পেতে পারেন :
static VALUE rb_io_s_open(int argc, VALUE *argv, VALUE klass)
{
VALUE io = rb_class_new_instance(argc, argv, klass);
if (rb_block_given_p()) {
return rb_ensure(rb_yield, io, io_close, io);
}
return io;
}
File.open ব্লগ.ব্রবিবেস্টপ্র্যাকটিসস / পয়েসস / রেকলেম্মে সম্পর্কে আরও কিছু তথ্য এখানে দেওয়া হয়েছে
জাম্বরির উত্তর এখানে পাওয়া ভাল।
File.open("out.txt", '<OPTION>') {|f| f.write("write your stuff here") }
আপনার বিকল্পগুলি যেখানে <OPTION>রয়েছে:
r- শুধুমাত্র পাঠযোগ্য. ফাইল উপস্থিত থাকতে হবে।
w - লেখার জন্য একটি ফাঁকা ফাইল তৈরি করুন।
a - একটি ফাইলে সংযোজন করুন The ফাইলটি উপস্থিত না থাকলে তৈরি হয়।
r+- উভয়ই পড়া এবং লেখার আপডেটের জন্য একটি ফাইল খুলুন। ফাইল উপস্থিত থাকতে হবে।
w+ - উভয় পড়া এবং লেখার জন্য একটি খালি ফাইল তৈরি করুন।
a+- পড়া এবং সংযোজন জন্য একটি ফাইল খুলুন। ফাইলটি উপস্থিত না থাকলে তৈরি করা হয়।
আপনার ক্ষেত্রে, wভাল।
আমাদের মধ্যে যারা উদাহরণস্বরূপ শিখেন তাদের জন্য ...
এটির মতো কোনও ফাইলে পাঠ্য লিখুন:
IO.write('/tmp/msg.txt', 'hi')
বোনাস তথ্য ...
এটি আবার পড়ুন
IO.read('/tmp/msg.txt')
প্রায়শই, আমি আমার ক্লিপবোর্ডে একটি ফাইল পড়তে চাই ***
Clipboard.copy IO.read('/tmp/msg.txt')
এবং অন্যান্য সময়, আমি আমার ক্লিপবোর্ডে যা আছে তা কোনও ফাইলে লিখতে চাই ***
IO.write('/tmp/msg.txt', Clipboard.paste)
*** ধরে নিন আপনি ক্লিপবোর্ড মণি ইনস্টল করেছেন
IO.writeঅপশনটি সংযোজন পরিবর্তে ফাইল সামগ্রীতে ওভাররাইট অপশনটি সাবধান করুন। IO.writ এর সাথে সংযোজন করা কিছুটা ক্লান্তিকর।
Errno::ENOENT: No such file or directory @ rb_sysopenবার্তা এবং 0 বাইট আকারের তৈরি ফাইলটি দেখতে পাবেন ।
ফাইলটির পূর্ববর্তী বিষয়বস্তু ধ্বংস করতে, তারপরে ফাইলটিতে একটি নতুন স্ট্রিং লিখুন:
open('myfile.txt', 'w') { |f| f << "some text or data structures..." }
কোনও ফাইলের পুরানো বিষয়বস্তুগুলিকে ওভাররাইট না করে সংযুক্ত করতে:
open('myfile.txt', "a") { |f| f << 'I am appended string' }