2017-12-18 5 views
0

Gibt es eine Möglichkeit, die HOST -, USER -, PASS - Variablen im net - ssh - Juwel als ein Array zu behandeln und mehrere Werte für sie zu haben?Wie liest man Text aus einer Datei in ein Array in Ruby

Ich habe derzeit eine externe Textdatei mit den Werten HOST, USER UND PASS, aber ich muss diese in die oben genannten Variablen innerhalb des Net - SSH Gem übergeben.

Jede Hilfe und Bearbeitungen zur Klärung der Frage sind willkommen! :)

Antwort

1

Sie sollten dies mit dem Splat-Operator tun können. Lesen Sie hierzu, aber Google gibt schnell this Intro zurück. Auf diese Weise können Sie einer Methode beim Beschreiben ein Array von Argumenten übergeben. Etwas wie:

some_values = ['host_name', 'user_name', 'password'] 
some_method(*some_values) 

Wenn Sie Ihre Frage aktualisieren könnten einige Beispiele eingegeben sind, was Sie bisher versucht haben, und das gewünschte Ergebnis, das wären wirklich sehr nützlich sein, mehr ins Detail zu gehen.

Ich bin mir nicht sicher, ob Ihr Problem zuvor beim Lesen der Datei/Werte auftritt. Wenn ja, zeigen Sie mir das Dateiformat und ich werde nachdenken - Sie werden wahrscheinlich etwas wie File.read('your_file.txt') verwenden müssen.

Andernfalls denken Sie daran, die Werte in einer YAML-Datei zu speichern, einem allgemeinen Muster zum Speichern sensibler Variablen außerhalb einer Rail-App. Damit können Sie die Datei laden und auf die Daten wie in einem Hash zugreifen und als Argumente übergeben.

Das hilft? Hoffe, wenn nicht, füge ein wenig mehr Details zu der Frage hinzu und ich werde aktualisieren, um dies zu reflektieren.

+0

Danke für die Antwort! Ich werde es versuchen. Ich bin neu im Skripting (Ruby), daher ist meine Syntax wahrscheinlich ein anderes Problem. Lassen Sie mich versuchen, den entsprechenden Code zu veröffentlichen – CreeFC

Verwandte Themen