Zoeken…


parameters

Vlag Betekenis
"R" Alleen-lezen, begint bij het begin van het bestand (standaardmodus).
"R +" Lezen en schrijven, begint bij het begin van het bestand.
"W" Alleen-schrijven, verkort bestaand bestand tot lengte nul of maakt een nieuw bestand om te schrijven.
"W +" Lezen-schrijven, verkort bestaand bestand tot lengte nul of maakt een nieuw bestand voor lezen en schrijven.
"een" Alleen-schrijven, begint aan het einde van het bestand als het bestand bestaat, maakt anders een nieuw bestand om te schrijven.
"A +" Lezen-schrijven, begint aan het einde van het bestand als het bestand bestaat, maakt anders een nieuw bestand voor lezen en schrijven.
"B" Binaire bestandsmodus. Onderdrukt EOL <-> CRLF-conversie op Windows. En stelt externe codering in op ASCII-8BIT tenzij expliciet gespecificeerd. (Deze vlag kan alleen worden weergegeven in combinatie met de bovenstaande vlaggen. File.new("test.txt", "rb") zou bijvoorbeeld test.txt in de read-only modus openen als een binary bestand.)
"T" Tekstbestandsmodus. (Deze vlag mag alleen in samenhang met de hierboven vlaggen. Bijvoorbeeld, File.new("test.txt", "wt") zou openen test.txt in write-only mode als een text bestand.)

Een tekenreeks naar een bestand schrijven

Een tekenreeks kan naar een bestand worden geschreven met een instantie van de klasse File .

file = File.new('tmp.txt', 'w')
file.write("NaNaNaNa\n")
file.write('Batman!\n')
file.close

De klasse File biedt ook een steno voor de new en close bewerkingen met de open methode.

File.open('tmp.txt', 'w') do |f|
  f.write("NaNaNaNa\n")
  f.write('Batman!\n')
end

Voor eenvoudige schrijfbewerkingen kan een string ook rechtstreeks naar een bestand worden geschreven met File.write . Merk op dat dit het bestand standaard overschrijft.

File.write('tmp.txt', "NaNaNaNa\n" * 4 + 'Batman!\n')

Als u een andere modus op File.write wilt opgeven, geeft u deze als een andere parameter door aan de waarde van een sleutel met de naam mode in een hash.

File.write('tmp.txt', "NaNaNaNa\n" * 4 + 'Batman!\n', { mode: 'a'})

Een bestand openen en sluiten

Open en sluit een bestand handmatig.

# 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

Sluit een bestand automatisch met een blok.

f = File.open("test.txt", "r") do |f|
  # do something with file f
  puts f.read # for example, read it
end

krijg een enkele invoer

In tegenstelling tot gets.chomp dit niet op een nieuwe regel.

Het eerste deel van de stdlib moet worden opgenomen

require 'io/console'

Dan kan een helper-methode worden geschreven:

def get_char
  input = STDIN.getch
  control_c_code = "\u0003"
  exit(1) if input == control_c_code
  input
end

Het is belangrijk om af te sluiten als control+c wordt ingedrukt.

Lezen van STDIN

# 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

Lezen van argumenten met 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow