Ich verbrachte ein paar Stunden googeln, konnte aber keine genaue Antwort finden.Wenn Zeile Wort enthält, setze Zeile in Variable
Ich möchte eine mehrzeilige Textdatei durchsuchen, und wenn eine Zeile 'dog'
enthält, lege diese Zeile in eine Variable.
Hier ist der Code, den ich habe:
if File.foreach('textfile.txt').grep(/dog/)
würde ich die nächste Codezeile wie die Linie 'dog'
in die Variable wordline
enthält, zu setzen.
Ich könnte auch nach mehreren Begriffen suchen, anstatt nur einer, das heißt:
if File.foreach('textfile.txt').grep(/cat|dog/)
ich es realisieren könnte auch auf andere Art und Weise erfolgen, so etwas wie:
wordline=File.foreach('textile.txt').grep(/dog/)
aber ich don kenne die Syntax für diese Inline-Version nicht.
Edit: das ist mein erster Beitrag überhaupt und ich bin ein Ruby newb .. was ich in meinem Beitrag erwähnt habe. Aber irgendjemand hat alles bearbeitet, dass mein Post abstimmte. Ich habe die FAQ vor dem Posten gelesen, daher wäre eine Erklärung der kritischen Aktionen beim nächsten Mal willkommen.
Als eine Anmerkung gibt 'grep' immer ein Array zurück, und Arrays, auch leere, sind immer logisch wahr. Dieses 'if' wird niemals nicht feuern. – tadman