Jak czytać i zapisywać pliki w Ruby

Spisie treści

W tym krótkim samouczku zobaczymy, jak czytać i zapisywać pliki przy użyciu języka programowania Ruby. Aby przećwiczyć, podamy kilka prostych przykładów. Jeśli jesteś zainteresowany zobaczeniem przykładów tego, co zostanie dzisiaj wyjaśnione lub innych rzeczy związanych z Rubym, możesz odwiedzić jego dokumentację.

Pierwszy przykład
W takim przypadku wykonywana jest kopiarka, która odczytuje kod programu (files.rb) i kopiuje go do innego pliku (copiaFicheros.rb).

 File.open ('files.rb', 'r') do | plik1 | File.open ('copiaFicheros.rb', 'w') do | plik2 | while line = file1.gets file2.puts (line) end file2.puts ("# end of copy") end end 
Pierwsza linia otwiera plik, z którego jest odczytywany (r - czytaj) i będzie miał nazwę plik1, w drugim otwieramy plik, w którym (w - napisz), pamiętaj, że wszystko w pliku copiaFicheros.rb zostanie usunięte, jeśli chcesz, abym pisał po tekście, który ma, zmień w za pomocą (a - dołącz). Mamy pętlę, która odczyta wiersz z pliku1 i zapisze go do pliku2, gdy nie ma już więcej do przeczytania, do pliku „kopiuj” wypisywana jest linia.

NotatkaJeśli chcesz otworzyć plik do odczytu i zapisu, użyj r +.

Drugi przykład
W tym przykładzie pokażemy pliki, które znajdziemy z katalogu, w którym wykonujemy kod, dlatego zobaczysz Znajdź.znajdź ('./'), który wykonuje wyszukiwanie w dół od katalogu, który otrzymuje jako parametr, jeśli chcesz inny katalog, od którego chcesz zacząć, zastąp ./.

 wymagają 'find' Find.find ('./') do | f | if File.file?(f) to umieszcza f end end 
W pierwszym kroku importujemy find, którego potrzebujemy. Drugi wiersz kodu, który widzisz, to ten wyjaśniony powyżej. W tym kodzie interesuje nas tylko pokazywanie plików, a nie katalogów, więc w trzecim wierszu sprawdzamy, czy jest to plik, a jeśli tak, malujemy go w czwartym. Oto wyjście z uruchomienia kodu:

Jakie inne rodzaje czytania / pisania możemy zrobić, a nie są widoczne w tym samouczku:

  • Możemy użyć losowego dostępu z metodą seek klasy IO.
  • Możemy zapisywać i wczytywać obiekty (marshalling).
Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave