Optie parsing standaard

Ik heb een aantal opties voor het ontleden van bibliotheken voor robijn gezien, maar ze hebben allemaal rare beperkingen.

'uitvoerbare' edelsteen beweert dat alle binaire bestanden van de opdrachtregel een binair "syntaxis" moeten hebben

'micro-optparse' kan niet overweg met een lijst met bestandsnamen achteraan en vereist dat je standaardinstellingen hebt voor alle niet-boolean-opdrachten. Vreemd.

Een andere die ik gebruikte maakte het onmogelijk om een ​​commando zonder argumenten uit te voeren.

En zo verder, enzovoort. En ik wil ARGV zelf niet ontleden.

Is er iets in de buurt van een specificatie of standaard voor commandoregelopties en -argumenten? En welke optie heeft de parsingbibliotheek dan volgens die standaard?

0
toegevoegd de auteur Andrew Grimm, de bron

3 antwoord

Kent u optparse ? Het is opgenomen in stdlib - standaard zoals het wordt.

Maar er is geen unix-standaard in te stellen voor het parseren van opdrachtregelparameters.

U moet uw vereisten duidelijker definiëren en vervolgens een bibliotheek kiezen die bij hen past.

2
toegevoegd

Er is geen standaard die ik ooit heb gehoord, maar AFAIR Trollop is ontstaan ​​uit de frustratie met de andere opdrachtregelparsers .

1
toegevoegd

+1 voor de vermelding van Trollop door Michael Kohl. Trollop maakt het heel gemakkelijk om commandoregelopties te schrijven die voldoen aan de GNU-stijl.

Ik schreef een eenvoudig zelfstandig voorbeeld in Hoe maak ik een Ruby-script met Trollop voor het parseren van de opdrachtregel? .

0
toegevoegd