खोज…


पैरामीटर

झंडा अर्थ
"आर" केवल-पढ़ें, फ़ाइल की शुरुआत में शुरू होता है (डिफ़ॉल्ट मोड)।
"आर +" फ़ाइल की शुरुआत में पढ़ना-लिखना शुरू होता है।
"डब्ल्यू" केवल-लिखें, मौजूदा फ़ाइल को शून्य लंबाई तक काटता है या लिखने के लिए एक नई फ़ाइल बनाता है।
"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


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow