Plik rubinowy we/o

Plik rubinowy we/o
Praca z plikami jest praktycznie wymagana dla każdego programisty. W większości przypadków, jeśli nie zapisujesz danych w bazie danych, prawdopodobnie zapisujesz je na pliku.

Ten przewodnik pokaże, jak korzystać z metod I/O Ruby do otwierania, czytania, pisania i tworzenia nowych plików.

Zacznijmy od podstaw wejścia i wyjścia w Ruby

Podstawowe I/O

Najbardziej podstawowe metody we/wy w Ruby to te, których używamy do drukowania tekstu na ekranie.

Pass

Metoda PUTS jest prawdopodobnie najczęstszą metodą we/wy.

Aby wydrukować coś na ekranie, po prostu:

my_var = 100
Umieszcza my_var

Polecenie Puts wydrukuje wartość przechowywaną w odwołanej zmiennej i doda nową linię na końcu.

Wydrukować

Metoda drukowania jest podobna do putów, ale nie dodaje nowej linii. Pozostawia kursor w tej samej linii.

Drukuj „Hello World!"

Putc

Inną powszechną podstawową metodą we/wy jest metoda PUTC. Działa podobnie do metody putów i drukowania, ale drukuje jeden znak na raz.

Na przykład:

my_var = "Hello World!"
Putc my_var

Powyższe powinno wydrukować postać „h.'

Dostaje

Metoda BETS, z drugiej strony, pobiera dane wejściowe od użytkownika za pomocą strumienia stdin.

stawia „Wprowadź swój wiek:”
wiek = dostaje
Umieszcza „jesteś #wiek lat”

Plik we/wy

Chociaż zrozumienie, w jaki sposób pracować ze standardem i jest pomocne, może być bardzo ograniczone, gdy potrzebujesz trwałych danych.

W takim przypadku możemy użyć wejścia i wyjścia pliku do odczytu i zapisu do plików.

Plik.Nowy()

Pierwszą przydatną metodą podczas pracy z plikami jest nowa metoda. To tworzy nowy obiekt pliku o określonej nazwie pliku i trybie.

Ogólna składnia to:

f = plik.nowy („nazwa pliku”, „tryb”)

Nazwa pliku może być dowolną nazwą i rozszerzeniem.

Ruby obsługuje różne tryby plików. Obejmują one:

  1. R - Tryb tylko do odczytu
  2. w - Tryb tylko do zapisu
  3. R+ - Tryb odczytu
  4. w+ Tryb odczytu
  5. A - Tryb zapisu i dołącz nowe dane, jeśli plik istnieje; Jeśli nie, utwórz plik i dodaj dane.
  6. A+ - Tak samo jak „a”, ale używa trybu odczytu-pisania.

Na przykład, aby utworzyć nowy plik, który nie istnieje:

f = plik.nowy nowy.txt ”,„ a+”)
F.SYSWRITE („I Wisher Freed”)
F.zamknąć()

W powyższym przykładzie tworzymy nowy obiekt pliku o nowej nazwie.TXT i tryb odczytu zapisu. Ponieważ plik nie istnieje, jest on automatycznie tworzony.

W następnym wierszu piszemy do pliku za pomocą metody SySwrite i na koniec zamykamy plik.

$ CAT NOWOŚĆ.tekst
Zostałem niedawno stworzony

Plik.Otwarty()

Możesz użyć metody otwartej do otwarcia pliku. Po otwarciu pliku możesz odczytać lub zapisać do niego.

Na przykład:

f = plik.Otwarte ("Nowe.tekst")
content = f.Czytać
stawia treść

W powyższym przykładzie używamy metody otwartej, aby otworzyć istniejący plik w bieżącym katalogu roboczym.

Po otwarciu możemy odczytać zawartość pliku.

Zauważ, że nie określamy trybu podczas otwierania pliku do odczytu, ponieważ jest on ustawiony do odczytania po nieokreślonym.

Aby napisać do pliku, musisz określić tryb jako zapis lub odczyt-napis, jak pokazano w poniższym przykładzie:

f = plik.Otwarte ("Nowe.txt ”,„ r+”)
F.Napisz („To jest kolejna linia”)
F.zamknąć()

W powyższym przykładzie określamy tryb jako odczytanie, gdy piszemy do pliku.

Plik.Przemianować()

Oprócz czytania i pisania do pliku, Ruby pozwala wykonywać inne operacje, w tym zmianę nazwy pliku za pomocą metody zmiany nazwy.

Przykład:

f = plik.Zmień nazwę („Nowy.txt ",„ przemianowany.tekst")

Powyższa metoda powinna zmienić nazwę nowej.plik txt do zmiany nazwy.tekst.

Plik.Usuwać()

Aby usunąć plik, możesz użyć metody Usuń i określić nazwę pliku jako argument. Na przykład:

umieszcza „#plik.Usuń („przemianowany.txt ") usunięty!"

Plik.dirname ()

Metoda nazwy dirname pozwala uzyskać ścieżkę pliku bez włączenia nazwy pliku.

Na przykład:

f = plik.dirname ("/var/log/lastLog")
Umieszcza f

Powinno to wyświetlić pełną ścieżkę do katalogu, w którym znajduje się plik.

# Ruby Fileio.RB
/var/log

Plik.istnieje?

Aby sprawdzić, czy plik istnieje, użyj pliku.istnieje? metoda. Zwraca boolean true, jeśli wartość istnieje i fałsz, jeśli inaczej.

umieszcza plik.istnieje?("/etc/passwd")
PRAWDA

Katalog I/O

Jeśli chcesz pracować z katalogami w Ruby, możesz użyć klasy DIR, która zawiera metody takich operacji.

Zawierają:

  1. pwd () - Zwraca bieżący katalog roboczy
  2. pusty?(„/Dirpath”) - Sprawdź, czy katalog jest pusty
  3. mkdir („/dirpath”) - Tworzy katalog o określonej nazwie.
  4. Usuń („/Dirpath”) - Usuwa określony katalog
  5. chdir („/Dirpath”) - Nawiguje do określonej ścieżki katalogu
  6. Wpisy („/Dirpath”) - Wymienia wszystkie pliki w katalogu.

Wniosek

Ten samouczek pokazał, jak korzystać z różnych operacji wejściowych/wyjściowych Ruby. Warto zauważyć, że istnieją inne operacje, które można wykonać poza tymi omówionymi w tym samouczku. Rozważ dokumentację plików i klasy DIR, aby dowiedzieć się więcej.