در این مطلب، قصد ما اینست که کمی با کلاس File در روبی کار کرده و آشنا شویم، این کلاس برای ایجاد، خواندن و نوشتن، و تغییر در مجوز های فایل ها استفاده میگردد. ابتدا، مروری بر کلیدی ترین ویژگی های این کلاس میکنیم و سپس، با استفاده از آن، یک ویرایشگر متنی بسیار ساده مینویسیم.
ایجاد و حذف فایل ها
برای ایجاد یک فایل، کافیست به این شکل عمل کنیم :
File.new("Hello")
با استفاده از این متد، فایلی به نام Hello ایجاد میشود.
برای حذف یک فایل نیز، این چنین عمل میکنیم :
File.delete("Hello")
می توان گفت زمانی که قصد دارید برنامهتان خروجی را درون یک فایل (مثلا متنی) قرار دهد، مهم ترین متدهایی هستند که باید از آنها به درستی استفاده کنید. اکنون از این متدها گذشته و میرسیم به متد هایی که برای خواندن و نوشتن استفاده میکنیم.
خواندن و نوشتن
علاوه بر ایجاد و حذف فایل، خواندن و نوشتن نیز مقوله مهمی در کار با فایلهاست. برای خواندن و نوشتن، از دو متد open و close استفاده میشود. متد open همانگونه که از نامش پیداست، فایل مورد نظر را باز کرده و متد close آن را می بندد. گرچه open امکان ایجاد یک فایل جدید را نیز داراست. برای مثال برای چاپ خط به خط یک تکست و سپس بستن فایل در مفسر روبی، کد زیر بسیار کاراست :
f = File.open('text', 'r')
for line in f
puts line
end
f.close
در خط اول، فایل را باز کرده و توسط پرچم r ، به مفسر، مجوز خواندن میدهیم. سپس توسط یک حلقه for ، خط به خط برنامه را روی صفحه ترمینال نمایش میدهیم و در آخر توسط متد close فایل مذکور را میبندیم. اکنون یک فایل متنی ایجاد کرده و درونش چند خطی مینویسیم.
f = File.open('text', 'w+')
f.write("Hello, World")
f.write("The End")
f.close
در اینجا، در خط اول با پرچم +w به مفسر مجوز نوشتن نیز میدهیم. اکنون نوبت آن است که با این ویژگی ها، یک ویرایشگر متنی درست کنیم برای نوشتن یک ویرایشگر متن ساده، تنها به چند چیز نیاز داریم، یک کلاس File ، یک حلقه تکرار و خواندن ورودی از طریق کیبرد :
print 'Enter file name: '
name = gets.chomp
f = File.open(name, 'w+')
str = ""
while str != "exitn"
str = gets
f.write(str)
end
f.close
دقیقا با این کد میتوانید هر چند خط که دلتان خواست، تایپ کرده سپس تایپ کنید exit و در آخر نتیجه را در پوشه ای که کد را اجرا کرده اید، مشاهده فرمایید.
در این مطلب سعی بر آن بود تا پایه ای ترین روش برای کار با فایل ها را مرور کنیم، برای اطلاعات بیشتر در مورد این کلاس، میتوانید راهنمای رسمی آن در وبگاه روبی را مطالعه کنید.