Bestanden lezen en schrijven in Ruby

Inhoudsopgave

In deze korte zelfstudie gaan we zien hoe u bestanden kunt lezen en schrijven met behulp van de programmeertaal Ruby. Om te oefenen gaan we enkele eenvoudige voorbeelden plaatsen. Als u geïnteresseerd bent in voorbeelden van wat er vandaag wordt uitgelegd of andere zaken die verband houden met Ruby, kunt u de documentatie raadplegen.

eerste voorbeeld
In dit geval wordt een kopieerapparaat gemaakt dat de programmacode (files.rb) leest en naar een ander bestand kopieert (copiaFicheros.rb).

 File.open ('files.rb', 'r') do | file1 | Bestand.open ('copiaFicheros.rb', 'w') do | file2 | while line = file1.gets file2.puts (regel) end file2.puts ("# end of copy") end end 
De eerste regel opent het bestand waaruit het wordt gelezen (r - lees) en zal de naam file1 hebben, in de tweede openen we het bestand waarin (w - schrijf), houd er rekening mee dat alles in het bestand copiaFicheros.rb zal worden verwijderd, als je wilt dat ik na de tekst schrijf, verander dan de met wie door (een - toevoegen). We hebben een lus die een regel uit bestand1 leest en naar bestand2 schrijft, als er niets meer te lezen is, wordt een regel geschreven voor het "kopie"-bestand.

OpmerkingAls u een bestand wilt openen om te lezen en te schrijven, gebruik dan r +.

Tweede voorbeeld
In dit voorbeeld gaan we de bestanden tonen die we vinden in de map waar we de code uitvoeren, daarom zie je Vind.vind ('./'), die een aflopende zoekopdracht uitvoert vanuit de directory die het als parameter ontvangt, als u een andere directory wilt om te starten, vervangt u de ./.

 vereisen 'find' Find.find ('./') do | f | if File.file? (f) zet dan f end end 
Als eerste stap importeren we vondst, die we nodig hebben. De tweede regel code die u ziet, is degene die hierboven is uitgelegd. In deze code zijn we alleen geïnteresseerd in het tonen van de bestanden en niet de mappen, dus in de derde regel controleren we of het een bestand is en zo ja, dan schilderen we het in de vierde. Hier is een uitweg om de code te starten:

Welke andere soorten lezen / schrijven kunnen we doen die niet worden gezien in deze tutorial:

  • We kunnen willekeurige toegang gebruiken met de seek-methode van de IO-klasse.
  • We kunnen objecten opslaan en laden (marshalling).
Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave