Suche…


Parameter

Flagge Bedeutung
"r" Schreibgeschützt, beginnt am Dateianfang (Standardmodus).
"r +" Lese- und Schreibzugriff beginnt am Anfang der Datei.
"w" Nur Schreiben, kürzt die vorhandene Datei auf null Länge oder erstellt eine neue Datei zum Schreiben.
"w +" Mit Lese- und Schreibzugriff wird die vorhandene Datei auf Null gekürzt oder eine neue Datei zum Lesen und Schreiben erstellt.
"ein" Nur schreiben, beginnt am Ende der Datei, falls eine Datei vorhanden ist, erstellt ansonsten eine neue Datei zum Schreiben.
"a +" Lese- und Schreibzugriff, beginnt am Ende der Datei, falls eine Datei vorhanden ist, erstellt ansonsten eine neue Datei zum Lesen und Schreiben.
"b" Binärdatei-Modus. Unterdrückt die EOL <-> CRLF-Konvertierung unter Windows. Setzt die externe Kodierung auf ASCII-8BIT, sofern nicht ausdrücklich angegeben. (Dieses Flag wird möglicherweise nur in Verbindung mit den obigen Flags File.new("test.txt", "rb") . Zum Beispiel würde File.new("test.txt", "rb") test.txt im read-only Modus als binary öffnen.)
"t" Textdatei-Modus. (Dieses Flag wird möglicherweise nur in Verbindung mit den obigen Flags File.new("test.txt", "wt") . Zum Beispiel würde File.new("test.txt", "wt") test.txt im test.txt write-only Modus als text öffnen.)

Eine Zeichenfolge in eine Datei schreiben

Ein String kann in eine Datei mit einer Instanz der File Klasse geschrieben werden.

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

Die File Klasse bietet auch eine Abkürzung für die new und close Operationen mit der open Methode.

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

Für einfache Schreibvorgänge kann eine Zeichenfolge auch direkt mit File.write in eine Datei File.write . Beachten Sie, dass dadurch die Datei standardmäßig überschrieben wird.

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

Um einen anderen Modus für File.write , übergeben Sie ihn als Wert eines Schlüssels, der als mode in einem Hash als anderen Parameter.

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

Datei öffnen und schließen

Öffnen und schließen Sie eine Datei manuell.

# 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

Datei automatisch mit einem Block schließen.

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

Holen Sie sich ein einzelnes Zeichen der Eingabe

Im Gegensatz zu gets.chomp dies nicht auf einen Newline.

Der erste Teil der stdlib muss enthalten sein

require 'io/console'

Dann kann eine Hilfsmethode geschrieben werden:

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

Es ist wichtig zu verlassen, wenn control+c gedrückt wird.

Lesen von 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

Lesen aus Argumenten mit 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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow