Ruby Language
फ़ाइल और I / O ऑपरेशंस
खोज…
पैरामीटर
झंडा | अर्थ |
---|---|
"आर" | केवल-पढ़ें, फ़ाइल की शुरुआत में शुरू होता है (डिफ़ॉल्ट मोड)। |
"आर +" | फ़ाइल की शुरुआत में पढ़ना-लिखना शुरू होता है। |
"डब्ल्यू" | केवल-लिखें, मौजूदा फ़ाइल को शून्य लंबाई तक काटता है या लिखने के लिए एक नई फ़ाइल बनाता है। |
"W +" | रीड-राइट, मौजूदा फ़ाइल को शून्य लंबाई तक काटता है या पढ़ने और लिखने के लिए एक नई फ़ाइल बनाता है। |
"ए" | केवल-लिखें, फ़ाइल के अंत में शुरू होता है यदि फ़ाइल मौजूद है, अन्यथा लेखन के लिए एक नई फ़ाइल बनाता है। |
"एक +" | यदि फ़ाइल मौजूद है, तो फ़ाइल के अंत में रीड-राइट शुरू होता है, अन्यथा पढ़ने और लिखने के लिए एक नई फ़ाइल बनाता है। |
"बी" | बाइनरी फ़ाइल मोड। विंडोज पर EOL <-> CRLF रूपांतरण का समर्थन करता है। और ASCII-8BIT के लिए बाहरी एन्कोडिंग सेट करता है जब तक कि स्पष्ट रूप से निर्दिष्ट न हो। (यह ध्वज केवल ऊपर के झंडे के साथ संयोजन में दिखाई दे सकता है। उदाहरण के लिए, File.new("test.txt", "rb") binary फ़ाइल के रूप में read-only मोड में test.txt को खोलेगा।) |
"टी" | पाठ फ़ाइल मोड। (यह ध्वज केवल उपरोक्त झंडे के साथ संयोजन में दिखाई दे सकता है। उदाहरण के लिए, File.new("test.txt", "wt") एक text फ़ाइल के रूप में write-only text मोड में test.txt को खोलेगा।) |
किसी फ़ाइल में स्ट्रिंग लिखना
एक स्ट्रिंग को File
वर्ग के उदाहरण के साथ फ़ाइल में लिखा जा सकता है।
file = File.new('tmp.txt', 'w')
file.write("NaNaNaNa\n")
file.write('Batman!\n')
file.close
File
वर्ग open
विधि के साथ new
और close
संचालन के लिए एक आशुलिपि भी प्रदान करता है।
File.open('tmp.txt', 'w') do |f|
f.write("NaNaNaNa\n")
f.write('Batman!\n')
end
सरल लिखने के संचालन के लिए, एक स्ट्रिंग को File.write
साथ सीधे फ़ाइल में भी लिखा जा सकता है। ध्यान दें कि यह डिफ़ॉल्ट रूप से फ़ाइल को अधिलेखित कर देगा।
File.write('tmp.txt', "NaNaNaNa\n" * 4 + 'Batman!\n')
File.write
पर एक अलग मोड निर्दिष्ट करने के लिए, इसे किसी अन्य पैरामीटर के रूप में हैश में कुंजी नामक mode
के मान के रूप में पास करें।
File.write('tmp.txt', "NaNaNaNa\n" * 4 + 'Batman!\n', { mode: 'a'})
किसी फ़ाइल को खोलें और बंद करें
किसी फ़ाइल को मैन्युअल रूप से खोलें और बंद करें।
# Using new method
f = File.new("test.txt", "r") # reading
f = File.new("test.txt", "w") # writing
f = File.new("test.txt", "a") # appending
# Using open method
f = open("test.txt", "r")
# Remember to close files
f.close
किसी ब्लॉक का उपयोग करके स्वचालित रूप से फ़ाइल बंद करें।
f = File.open("test.txt", "r") do |f|
# do something with file f
puts f.read # for example, read it
end
इनपुट का एक एकल चार्ट प्राप्त करें
इसके विपरीत। के gets.chomp
यह एक नई लाइन के लिए इंतजार नहीं करेगा।
Stdlib के पहले भाग को शामिल किया जाना चाहिए
require 'io/console'
फिर एक सहायक विधि लिखी जा सकती है:
def get_char
input = STDIN.getch
control_c_code = "\u0003"
exit(1) if input == control_c_code
input
end
यदि control+c
दबाया जाता है तो इसके बाहर निकलने का खतरा है।
स्टैडिन से पढ़ना
# Get two numbers from STDIN, separated by a newline, and output the result
number1 = gets
number2 = gets
puts number1.to_i + number2.to_i
## run with: $ ruby a_plus_b.rb
## or: $ echo -e "1\n2" | ruby a_plus_b.rb
ARGV के साथ तर्कों से पढ़ना
number1 = ARGV[0]
number2 = ARGV[1]
puts number1.to_i + number2.to_i
## run with: $ ruby a_plus_b.rb 1 2