Command Line Interface (CLI) tools zijn krachtige hulpmiddelen die ontwikkelaars helpen om taken snel en efficiënt uit te voeren. In deze gids leer je hoe je een eenvoudige CLI-tool kunt maken met Ruby. We zullen de basisprincipes van Ruby verkennen, enkele nuttige bibliotheken bekijken en stap voor stap een eenvoudige tool bouwen. Laten we beginnen!
Een CLI-tool is een programma dat via de opdrachtregel wordt uitgevoerd. Gebruikers kunnen opdrachten invoeren en de tool reageert met uitvoer in de terminal. CLI-tools zijn vaak sneller en vereisen minder systeembronnen dan grafische gebruikersinterfaces (GUI's).
Ruby is een veelzijdige en gebruiksvriendelijke programmeertaal die zich uitstekend leent voor het bouwen van CLI-tools. Het heeft een duidelijke syntaxis en een rijke set aan bibliotheken die het ontwikkelingsproces versnellen. Bovendien is Ruby een populaire keuze onder ontwikkelaars, wat betekent dat er veel bronnen en ondersteuning beschikbaar zijn.
Voordat we beginnen, zorg ervoor dat je het volgende hebt geïnstalleerd:
Begin met het maken van een nieuwe map voor je project. Open je terminal en voer de volgende opdrachten uit:
mkdir mijn_cli_tool cd mijn_cli_tool touch cli_tool.rb
Hiermee maak je een nieuwe map genaamd mijn_cli_tool
en een Ruby-bestand genaamd cli_tool.rb
.
Open het bestand cli_tool.rb
in je teksteditor en voeg de volgende code toe:
#!/usr/bin/env ruby puts "Welkom bij mijn CLI Tool!" puts "Voer een opdracht in:"
Deze code geeft een welkomstbericht weer en vraagt de gebruiker om een opdracht in te voeren. We moeten nu de invoer van de gebruiker verwerken.
Voeg de volgende code toe om de invoer van de gebruiker te lezen en te verwerken:
input = gets.chomp case input when "hallo" puts "Hallo! Hoe gaat het?" when "exit" puts "Tot ziens!" exit else puts "Onbekende opdracht: #{input}" end
Hier gebruiken we de gets
methode om de invoer van de gebruiker te lezen. Vervolgens gebruiken we een case
statement om verschillende opdrachten te verwerken. Als de gebruiker "hallo" invoert, krijgt hij een vriendelijk antwoord. Bij "exit" sluit de tool af, en voor andere invoer geeft het een foutmelding.
Laten we de tool interactiever maken door een loop toe te voegen, zodat de gebruiker meerdere opdrachten kan invoeren zonder de tool opnieuw te starten. Pas de code als volgt aan:
#!/usr/bin/env ruby puts "Welkom bij mijn CLI Tool!" loop do puts "Voer een opdracht in (type 'exit' om te stoppen):" input = gets.chomp case input when "hallo" puts "Hallo! Hoe gaat het?" when "exit" puts "Tot ziens!" exit else puts "Onbekende opdracht: #{input}" end end
Met deze aanpassing blijft de tool draaien totdat de gebruiker "exit" invoert. Dit maakt de interactie veel gebruiksvriendelijker.
Nu we een basisstructuur hebben, laten we wat extra functionaliteit toevoegen. We kunnen bijvoorbeeld een eenvoudige rekentool maken die basisbewerkingen uitvoert. Voeg de volgende code toe aan je cli_tool.rb
bestand:
def rekentool puts "Voer de eerste getal in:" num1 = gets.chomp.to_f puts "Voer de tweede getal in:" num2 = gets.chomp.to_f puts "Kies een bewerking: +, -, *, /" operatie = gets.chomp resultaat = case operatie when "+" num1 + num2 when "-" num1 - num2 when "*" num1 * num2 when "/" num1 / num2 else "Ongeldige bewerking" end puts "Resultaat: #{resultaat}" end loop do puts "Voer een opdracht in (type 'exit' om te stoppen, 'reken' voor rekentool):" input = gets.chomp case input when "hallo" puts "Hallo! Hoe gaat het?" when "reken" rekentool when "exit" puts "Tot ziens!" exit else puts "Onbekende opdracht: #{input}" end end
In deze code hebben we een nieuwe methode rekentool
toegevoegd die de gebruiker vraagt om twee getallen en een bewerking te kiezen. Het resultaat wordt vervolgens weergegeven. De gebruiker kan nu "reken" invoeren om de rekentool te gebruiken.
Om de gebruikerservaring te verbeteren, kunnen we enkele foutafhandelingsmechanismen toevoegen. Dit zorgt ervoor dat de tool niet crasht bij ongeldige invoer. Pas de rekentool
functie als volgt aan:
def rekentool begin puts "Voer de eerste getal in:" num1 = Float(gets.chomp) puts "Voer de tweede getal in:" num2 = Float(gets.chomp) puts "Kies een bewerking: +, -, *, /" operatie = gets.chomp resultaat = case operatie when "+" num1 + num2 when "-" num1 - num2 when "*" num1 * num2 when "/" num1 / num2 else "Ongeldige bewerking" end puts "Resultaat: #{resultaat}" rescue ArgumentError puts "Voer alstublieft een geldig getal in." end end
Hier hebben we een begin-rescue
blok toegevoegd om te controleren of de invoer van de gebruiker geldig is. Als de gebruiker een ongeldig getal invoert, krijgt hij een foutmelding en kan hij het opnieuw proberen.
Om je CLI-tool uitvoerbaar te maken, moet je de juiste machtigingen instellen. Voer de volgende opdracht uit in de terminal:
chmod +x cli_tool.rb
Nu kun je de tool uitvoeren met de volgende opdracht:
./cli_tool.rb
Nu je een basis CLI-tool hebt gebouwd, zijn hier enkele ideeën voor verdere verbeteringen:
thor
of optparse
voor geavanceerdere CLI-functionaliteit.Gefeliciteerd! Je hebt met succes een eenvoudige CLI-tool gebouwd met Ruby. We hebben de basisprincipes van Ruby verkend, gebruikersinvoer verwerkt en extra functionaliteit toegevoegd. Nu kun je deze vaardigheden gebruiken om complexere tools te maken en je programmeerkennis verder uit te breiden. Veel plezier met coderen!
© 2024 RailsInsights. All rights reserved.