slogan3

Help mij een Ruby-script te schrijven voor gegevensverwerking

description

Met deze prompt krijg je een concreet en toepasbaar Ruby-script dat precies aansluit op jouw gegevensverwerkingstaak. Het bespaart je programmeertijd, helpt je best practices toe te passen en maakt het gemakkelijker om automatisering in Ruby te implementeren.

prompt

try_prompt

Schrijf een Ruby-script dat de volgende taak uitvoert: <beschrijf de taak of het probleem in detail>. Gebruik hierbij de volgende inputgegevens: <voer d ... more
generate_helper
disclaimerOnPageApi image_legal_disclaimer...

ai_answers

provider: openai
model: gpt-4.1-nano
Hier is een Ruby-script dat aan uw wensen voldoet. Het leest een CSV-bestand, filtert alle actieve gebruikers (bijvoorbeeld waarbij de kolom 'status' op 'actief' staat) en schrijft deze naar een nieuw CSV-bestand. Het script is leesbaar, efficiënt en volgt best practices: ```ruby require 'csv' # Definieer de bestandsnamen input_bestand = 'gebruikers.csv' output_bestand = 'actieve_gebruikers.csv' # Filter actieve gebruikers actieve_gebruikers = CSV.read(input_bestand, headers: true).select do |rij| rij['status'].to_s.downcase == 'actief' end # Schrijf de gefilterde gebruikers naar een nieuw bestand CSV.open(output_bestand, 'w', headers: actieve_gebruikers.first.headers, write_headers: true) do |csv| actieve_gebruikers.each do |rij| csv << rij end end puts "Filtered #{actieve_gebruikers.size} actieve gebruikers naar #{output_bestand}." ``` **Toelichting:** - Gebruik van de `csv`-bibliotheek voor eenvoudige CSV-verwerking. - Lees het invoerbestand met headers. - Filter de rijen op basis van de 'status'-waarde, zorgt voor case-insensitive vergelijking. - Schrijf de gefilterde gegevens naar een nieuw bestand met dezelfde headers. - Duidelijke variabele namen en eenvoudige structuur. U kunt de bestandsnamen aanpassen naar uw situatie. Zorg dat het CSV-bestand aanwezig is in dezelfde directory als dit script, of geef het juiste pad op.
provider: deepseek
model: deepseek-chat
```ruby require 'csv' # Definieer bestandsnamen input_bestand = 'gebruikers.csv' output_bestand = 'actieve_gebruikers.csv' begin # Lees en verwerk CSV-bestand actieve_gebruikers = CSV.read(input_bestand, headers: true) .select { |rij| rij['status']&.downcase == 'actief' } # Schrijf resultaten naar nieuw CSV-bestand CSV.open(output_bestand, 'w') do |csv| # Schrijf kopregel csv << ['naam', 'email', 'status'] # Schrijf alle actieve gebruikers actieve_gebruikers.each do |gebruiker| csv << [gebruiker['naam'], gebruiker['email'], gebruiker['status']] end end puts "Succesvol #{actieve_gebruikers.size} actieve gebruikers opgeslagen in #{output_bestand}" rescue Errno::ENOENT puts "Fout: Bestand #{input_bestand} niet gevonden." rescue CSV::MalformedCSVError puts "Fout: Ongeldig CSV-formaat in #{input_bestand}." rescue StandardError => e puts "Er is een onverwachte fout opgetreden: #{e.message}" end ``` **Uitleg van de gebruikte best practices:** 1. **Foutafhandeling**: Gebruik van `begin/rescue` voor robuuste error handling 2. **Method chaining**: Leesbare aaneenschakeling van methoden 3. **Headers gebruiken**: Werkt met kolomnamen i.p.v. indexen voor betere leesbaarheid 4. **Case-insensitive check**: `.downcase` zorgt dat 'Actief', 'actief', etc. allemaal werken 5. **Safe navigation operator**: `&.` voorkomt nil errors 6. **Descriptieve variabelen**: Duidelijke namen voor betere leesbaarheid 7. **Headers behouden**: Kopregel wordt mee geschreven naar output bestand **Gebruik:** - Plaats dit script in dezelfde map als je `gebruikers.csv` bestand - Voer uit met: `ruby scriptnaam.rb` - Resultaat wordt opgeslagen in `actieve_gebruikers.csv` Zorg ervoor dat je CSV-bestand de juiste kolomnamen heeft en de statuswaarden consistent zijn.