Hur man läser och skriver filer i Ruby

Innehållsförteckning

I denna korta handledning kommer vi att se hur man läser och skriver till filer med hjälp av programmeringsspråket Ruby. För att öva kommer vi att sätta några enkla exempel. Om du är intresserad av att se exempel på vad som kommer att förklaras idag eller andra saker som rör Ruby kan du besöka dess dokumentation.

Första exemplet
I det här fallet görs en kopiator som läser programkoden (files.rb) och kopierar den till en annan fil (copiaFicheros.rb).

 File.open ('files.rb', 'r') gör | file1 | File.open ('copiaFicheros.rb', 'w') gör | file2 | medan line = file1.gets file2.puts (line) end file2.puts ("# end of copy") end end 
Den första raden öppnar filen från vilken den läses (r - läs) och kommer att ha namnet file1, i den andra öppnar vi filen där (w - skriv), kom ihåg att allt i filen copiaFicheros.rb kommer att raderas, om du vill att jag ska skriva efter texten som den har, ändra w förbi (a - lägg till). Vi har en loop som kommer att läsa en rad från file1 och skriva den till file2, när det inte finns mer att läsa, skrivs en rad för "kopiera" -filen.

NoteraOm du vill öppna en fil för läsning och skrivning r +.

Andra exemplet
I det här exemplet kommer vi att visa filerna som vi hittar från katalogen där vi kör koden, det är därför du kommer att se Find.find ('./'), som gör en nedåtgående sökning från katalogen som den tar emot som en parameter, om du vill ha en annan katalog att starta från, ersätt ./.

 kräver 'hitta' Hitta.find ('./') gör | f | om File.file? (f) sätter sedan f slutet 
Som ett första steg importerar vi fynd, som vi behöver. Den andra kodraden du ser är den som förklaras ovan. I den här koden är vi bara intresserade av att visa filerna och inte katalogerna, så på den tredje raden kontrollerar vi om det är en fil och i så fall målar vi den i den fjärde. Här är ett sätt att släppa koden:

Vilka andra typer av läsning / skrivning kan vi göra som inte syns i denna handledning:

  • Vi kan använda slumpmässig åtkomst med sökmetoden för IO -klassen.
  • Vi kan spara och ladda objekt (marshalling).
Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave