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.