উত্তর:
রুবি ফাইল বর্গ আপনি ইনস এবং এর আউট দেব ::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' }