Ich schreibe einen kleinen Server mit Sinatra.
Sinatra hat ein paar eigene Optionen, die wie üblich ober ARGV erwartet
werden.
Nun hat aber meine Anwendung eigene Optionen. Ich benutze dazu optparse
bevor Sinatra geladen wird und hier beginnt das Problem: meine Anwendung
muss die Sinatra als gültige Optionen akzeptieren, sonst gibt es einen
Fehlerabbruch.
optparse bietet nun zwei Möglichkeiten, die aber beide dasselbe Problem
haben: die akzeptierten Optionen können in ARGV gelöscht werden, oder
nicht.
Ich benutze die löschende Variante und folglich sind nach dem Aufruf
keine Optionen mehr in ARGV. Um dem abzuhelfen sammelt optparse die
Sinatra-Optionen in einen Array – so weit so gut.
Nun soll ARGV entsprechend geändert werden:
Da ARGV eine Konstante ist, wird die Operation zwar ausgeführt, führt
aber zu einer Warnung – die möchte ich los werden.
Optparse schafft das irgendwie, aber wie, das ist ziemlich
undurchsichtig.
Was ist der Trick?