Ruby -Datei i/o

Ruby -Datei i/o
Die Arbeit mit Dateien ist für jeden Entwickler praktisch eine Voraussetzung für jeden Entwickler. Wenn Sie in den meisten Fällen keine Daten in einer Datenbank speichern, speichern Sie sie wahrscheinlich in einer Datei.

Diese Anleitung zeigt Ihnen, wie Sie Ruby -E/A -Methoden verwenden, um neue Dateien zu öffnen, zu lesen, zu schreiben und zu erstellen.

Beginnen wir mit den Grundlagen von Eingang und Ausgabe in Ruby

Grundlegende I/O

Die grundlegendsten E/A -Methoden in Ruby sind die, die wir verwenden, um Text auf dem Bildschirm zu drucken.

Stellt

Die Puts -Methode ist wahrscheinlich die häufigste E/A -Methode.

Um etwas auf dem Bildschirm zu drucken, einfach:

my_var = 100
setzt my_var

Der Befehl puts druckt den in der referenzierten Variablen gespeicherten Wert aus und fügt am Ende eine neue Zeile hinzu.

Drucken

Die Druckmethode ähnelt den Puts, fügt jedoch keine nachfolgende neue Linie hinzu. Es lässt den Cursor in derselben Linie.

Druck "Hallo Welt!"

Putc

Eine weitere häufige grundlegende E/A -Methode ist die PUTC -Methode. Es funktioniert ähnlich wie die Put- und Druckmethode, druckt jedoch jeweils einen Charakter.

Zum Beispiel:

my_var = "Hallo Welt!"
putc my_var

Das obige sollte den Charakter 'H drucken.''

Bekommt

Die GET -Methode hingegen holt die Eingabe vom Benutzer mit dem STDIN -Stream ab.

setzt "Geben Sie Ihr Alter ein:"
Alter = bekommt
Setzt "Du bist #Alter Jahre alt"

Datei i/o

Obwohl es hilfreich ist, zu verstehen, wie man mit dem Standard ein- und ausgeht, kann dies sehr einschränkend sein, wenn Sie anhaltende Daten benötigen.

In einem solchen Fall können wir die Dateieingabe und die Ausgabe zum Lesen und Schreiben in Dateien verwenden.

Datei.Neu()

Die erste nützliche Methode bei der Arbeit mit Dateien ist die neue Methode. Dadurch wird ein neues Dateiobjekt mit dem angegebenen Dateinamen und dem Modus erstellt.

Die allgemeine Syntax ist:

f = Datei.neu ('Dateiname', 'Modus')

Der Dateiname kann jeder Name und jede Erweiterung sein.

Ruby unterstützt verschiedene Dateimodi. Diese beinhalten:

  1. R - Schreibgeschützter Modus
  2. w - Schreibmodus
  3. R+ - Messschreibermodus
  4. w+ Messschreibermodus
  5. A - Schreibmodus schreiben und neue Daten anhängen, wenn die Datei vorliegt. Wenn nicht, erstellen Sie Datei und fügen Sie die Daten hinzu.
  6. A+ - Gleich wie "a", verwendet aber den Leseschreibermodus.

Zum Beispiel zum Erstellen einer neuen Datei, die nicht vorhanden ist:

f = Datei.neu Neu.txt "," a+")
F.Sywrite ("Ich wurde kürzlich erstellt")
F.schließen()

Im obigen Beispiel erstellen wir ein neues Dateiobjekt mit dem Namen neu.TXT und der Leseschreibe-Modus. Da die Datei nicht vorhanden ist, wird sie automatisch erstellt.

In der nächsten Zeile schreiben wir mit der Syswrite -Methode in die Datei und schließen schließlich die Datei ab.

$ cat neu.txt
Ich wurde kürzlich erstellt

Datei.Offen()

Sie können die offene Methode verwenden, um eine Datei zu öffnen. Sobald Sie eine Datei geöffnet haben, können Sie sie lesen oder schreiben.

Zum Beispiel:

f = Datei.offen ("neu.txt")
Inhalt = f.lesen
setzt Inhalte

Im obigen Beispiel verwenden wir die offene Methode, um eine vorhandene Datei im aktuellen Arbeitsverzeichnis zu öffnen.

Nach der Öffnung können wir den Dateiinhalt lesen.

Beachten Sie, dass wir den Modus beim Öffnen der Datei zum Lesen nicht angeben.

Um in eine Datei zu schreiben, müssen Sie den Modus als Schreib- oder Leseschreiben angeben, wie im folgenden Beispiel gezeigt:

f = Datei.offen ("neu.txt "," r+")
F.Schreiben ("Dies ist eine andere Zeile")
F.schließen()

Im obigen Beispiel geben wir den Modus als Leseschreiber an, während wir in die Datei schreiben.

Datei.umbenennen()

Neben dem Lesen und Schreiben in eine Datei können Sie andere Vorgänge ausführen, einschließlich der Umbenennung der Datei mithilfe der Umbenennungsmethode.

Beispiel:

f = Datei.umbenennen ("neu.txt "," umbenannt.txt")

Die obige Methode sollte das neue umbenennen.TXT -Datei umbenannt.txt.

Datei.Löschen()

Um eine Datei zu löschen, können Sie die Methode Löschen verwenden und den Dateinamen als Argument angeben. Zum Beispiel:

Puts "#Datei.löschen ("umbenannt.txt ") gelöscht!"

Datei.DirName ()

Mit der DirName -Methode können Sie den Pfad der Datei erhalten, ohne den Dateinamen einzubeziehen.

Zum Beispiel:

f = Datei.DirName ("/var/log/lastlog")
setzt f

Dies sollte den vollständigen Pfad zum Verzeichnis anzeigen, in dem sich die Datei befindet.

# Ruby Fileo.rb
/var/log

Datei.existiert?

Verwenden Sie die Datei, um zu überprüfen, ob eine Datei vorliegt, die Datei.existiert? Methode. Es gibt einen boolean true zurück, wenn der Wert existiert und wenn anders falsch.

Datei einsetzt.existiert?("/etc/passwd")
WAHR

Verzeichnis i/o

Wenn Sie mit Verzeichnissen in Ruby arbeiten möchten, können Sie die DIR -Klasse verwenden, die Methoden für solche Operationen enthält.

Sie beinhalten:

  1. pwd () - Gibt das aktuelle Arbeitsverzeichnis zurück
  2. leer?("/Dirath") - Überprüft, ob ein Verzeichnis leer ist
  3. Mkdir ("/Dirath") - Erstellt ein Verzeichnis mit dem angegebenen Namen.
  4. löschen ("/Dirpath") - Löscht das angegebene Verzeichnis
  5. Chdir ("/Dirath") - Navigiert zum angegebenen Verzeichnispfad
  6. Einträge ("/Dirath") - Listet alle Dateien im Verzeichnis auf.

Abschluss

In diesem Tutorial wurde gezeigt, wie Sie verschiedene Ruby -Eingangs-/Ausgangsvorgänge verwenden. Es ist gut zu beachten, dass es andere Operationen gibt, die Sie über die in diesem Tutorial besprochenen Operationen hinaus ausführen können. Betrachten Sie die Dokumentation der Datei und der DIR -Klassen, um mehr zu erfahren.