Ruby: Konstante redefinieren ohne eine Warnung

OP #7591109
Lesenswert?

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:

1
ARGV = $sinatraOptions

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren