File ruby ​​i/o

File ruby ​​i/o
Lavorare con i file è praticamente un requisito per qualsiasi sviluppatore. Nella maggior parte dei casi, se non si stanno salvando i dati in un database, probabilmente li stai salvando in un file.

Questa guida ti mostrerà come utilizzare i metodi Ruby I/O per aprire, leggere, scrivere e creare nuovi file.

Iniziamo dalle basi dell'input e dell'output in Ruby

I/O di base

I metodi I/O di base in Ruby sono quelli che utilizziamo per stampare il testo sullo schermo.

Mette

Il metodo Puts è probabilmente il metodo I/O più comune.

Per stampare qualcosa sullo schermo, semplicemente:

my_var = 100
mette my_var

Il comando Puts stamperà il valore memorizzato nella variabile di riferimento e aggiungerà una nuova riga alla fine.

Stampa

Il metodo di stampa è simile ai put, ma non aggiunge una nuova linea finale. Lascia il cursore nella stessa linea.

Stampa "Hello World!"

Putc

Un altro metodo I/O di base comune è il metodo Putc. Funziona in modo simile al metodo Puts and Stamp, ma stampa un carattere alla volta.

Per esempio:

my_var = "Hello World!"
putc my_var

Quanto sopra dovrebbe stampare il personaggio 'h.'

Prende

Il metodo Get, d'altra parte, prenderà input dall'utente utilizzando il flusso di stdin.

mette "Inserisci la tua età:"
età = ottiene
mette "hai #age anni"

File i/o

Sebbene comprendere come lavorare con lo standard in e fuori è utile, può essere molto limitante quando hai bisogno di dati persistenti.

In tal caso, possiamo utilizzare l'input e l'output del file per leggere e scrivere sui file.

File.Nuovo()

Il primo metodo utile quando si lavora con i file è il nuovo metodo. Questo crea un nuovo oggetto file con il nome del file specificato e la modalità.

La sintassi generale è:

f = file.new ('filename', 'modalità')

Il nome file può essere qualsiasi nome ed estensione.

Ruby supporta varie modalità di file. Questi includono:

  1. R - Modalità di sola lettura
  2. w - Modalità solo scrittura
  3. R+ - Modalità di lettura-scrittura
  4. w+ Modalità di lettura-scrittura
  5. UN - Scrivi la modalità e aggiungi nuovi dati se esiste il file; In caso contrario, crea file e aggiungi i dati.
  6. UN+ - Come "A" ma usa la modalità di lettura.

Ad esempio, per creare un nuovo file che non esiste:

f = file.Nuovo ("Nuovo.txt "," a+")
F.syswrite ("Sono stato creato di recente")
F.vicino()

Nell'esempio sopra, creiamo un nuovo oggetto file con il nome nuovo.txt e la modalità di lettura-scrittura. Poiché il file non esiste, viene creato automaticamente.

Nella riga successiva, scriviamo nel file usando il metodo Syswrite e, infine, chiudi il file.

$ cat nuovo.TXT
Sono stato creato di recente

File.Aprire()

È possibile utilizzare il metodo aperto per aprire un file. Una volta aperto un file, puoi leggerlo.

Per esempio:

f = file.aperto ("Nuovo.TXT")
contenuto = f.Leggere
mette il contenuto

Nell'esempio sopra, utilizziamo il metodo aperto per aprire un file esistente nella directory di lavoro corrente.

Una volta aperto, possiamo leggere il contenuto del file.

Si noti che non specifichiamo la modalità durante l'apertura del file per la lettura perché è impostato per leggere quando non specificato.

Per scrivere in un file, è necessario specificare la modalità come scrittura o scrittura di lettura come mostrato nell'esempio seguente:

f = file.aperto ("Nuovo.txt "," r+")
F.Scrivi ("Questa è un'altra riga")
F.vicino()

Nell'esempio sopra, specifichiamo la modalità come la scrittura di lettura come stiamo scrivendo nel file.

File.rinominare()

Oltre a leggere e scrivere in un file, Ruby consente di eseguire altre operazioni, incluso la ridenominazione del file utilizzando il metodo Rinomina.

Esempio:

f = file.rinominare ("Nuovo.txt "," ribattezzato.TXT")

Il metodo sopra dovrebbe rinominare il nuovo.file txt da rinominare.TXT.

File.Eliminare()

Per eliminare un file, è possibile utilizzare il metodo Elimina e specificare il nome file come argomento. Per esempio:

mette "#file.Elimina ("Rinominata.txt ") eliminato!"

File.dirname ()

Il metodo Dirname consente di ottenere il percorso del file senza includere il nome file.

Per esempio:

f = file.Dirname ("/var/log/lastlog")
mette f

Questo dovrebbe visualizzare l'intero percorso verso la directory in cui si trova il file.

# Ruby FileIO.Rb
/var/log

File.esiste?

Per verificare se esiste un file, utilizzare il file.esiste? metodo. Restituisce un vero vero se il valore esiste e falso se altrimenti.

mette file.esiste?("/etc/passwd")
VERO

Directory i/o

Se vuoi lavorare con le directory in Ruby, puoi utilizzare la classe DIR che contiene metodi per tali operazioni.

Loro includono:

  1. PWD () - Restituisce l'attuale directory di lavoro
  2. vuoto?("/Dirpath") - Controlla se una directory è vuota
  3. mkdir ("/dirpath") - Crea una directory con il nome specificato.
  4. Elimina ("/dirpath") - Elimina la directory specificata
  5. chdir ("/dirpath") - Naviga sul percorso di directory specificato
  6. Voci ("/dirpath") - Elenca tutti i file nella directory.

Conclusione

Questo tutorial ti ha mostrato come utilizzare varie operazioni di input/output di rubini. È bene notare che ci sono altre operazioni che puoi eseguire oltre a quelle discusse in questo tutorial. Considera la documentazione di File e DIR Class per saperne di più.