Как да четете и пишете файлове в Ruby

Съдържание

В този кратък урок ще видим как да четем и пишем във файлове, използвайки езика за програмиране Ruby. За да практикуваме, ще дадем няколко прости примера. Ако се интересувате да видите примери за това, което ще бъде обяснено днес, или други неща, свързани с Ruby, можете да посетите неговата документация.

Първият пример
В този случай се прави копирна машина, която чете програмния код (files.rb) и го копира в друг файл (copiaFicheros.rb).

 File.open ('files.rb', 'r') do | file1 | File.open ('copiaFicheros.rb', 'w') do | file2 | докато line = file1.gets file2.puts (ред) край file2.puts ("# край на копиране") end end 
Първият ред отваря файла, от който се чете (r - прочетете) и ще има името file1, във втория отваряме файла, където (w - пиши), имайте предвид, че всичко във файла copiaFicheros.rb ще бъде изтрито, ако искате да напиша след текста, който има, променете w от (а - добавям). Имаме цикъл, който ще прочете ред от file1 и ще го запише във file2, когато няма повече за четене, се записва ред за файла "copy".

ЗабележкаАко искате да отворите файл за четене и писане, използвайте r +.

Втори пример
В този пример ще покажем файловете, които намираме от директорията, в която изпълняваме кода, затова ще видите Find.find ('./'), което извършва низходящо търсене от директорията, която получава като параметър, ако искате друга директория, от която да започнете, заменете ./.

 изискват 'find' Find.find ('./') do | f | ако File.file? (f) тогава поставя f end end 
Като първа стъпка импортираме find, от която се нуждаем. Вторият ред код, който виждате, е този, обяснен по -горе. В този код се интересуваме само от показването на файловете, а не от директориите, така че в третия ред проверяваме дали е файл и ако е така, го рисуваме в четвъртия. Ето изход за стартиране на кода:

Какви други видове четене / писане можем да направим, които не се виждат в този урок:

  • Можем да използваме произволен достъп с метода на търсене на IO класа.
  • Можем да запазваме и зареждаме обекти (маршалинг).
Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave