• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Seit Gutenbergs Zeiten haben sich nicht nur Bücher über die ganze Welt verbreitet, sondern Buchstaben und Wörter begleiten uns allumfassend. Selbst moderne Devices mit Sprachsteuerung und Super-KI kommen nicht ohne Buchstaben, Wörter oder Symbole aus. Nicht zuletzt darum ist das Thema das Monats Am Anfang war das Wort ---> Klick

[Ruby] f.each_line mit Array.push funktioniert nicht

Zettt

Doppelter Melonenapfel
Registriert
16.10.05
Beiträge
3.374
Hallo,

Ich habe ein seltsames Problem. Folgendes Konstrukt:

Code:
quoteArray = []
quoteFile = File.new("quotes.txt", "r") or die "Unable to open file..."
quoteFile.each_line { |line| quoteArray.push line }
puts quoteArray[0]

Eigentlich also ganz einfach. Datei oeffnen und dann jede Zeile in ein Array pushen.
Das komisch genau dieses Konstrukt benutze ich in einem anderen Skript genauso und es funktioniert tadellos.
Jetzt moechte ich das mit meinen Quotes machen und alles was ich bekomme ich ein Array mit einem Element in dem die gesamte Textdatei drin ist. Was mache ich falsch?

Danke
 

Zettt

Doppelter Melonenapfel
Registriert
16.10.05
Beiträge
3.374
Different approach, same result. Ich finde Ruby ja super mit der Punktsyntax.

Code:
quoteArray = File.read("quotes.txt").gsub(/\n?\r/, "\n").lines.to_a
puts quoteArray[0]
 

knalli

Stechapfel
Registriert
19.01.10
Beiträge
159
Ich kenne Ruby nicht direkt, aber das sieht mir ja fast nach keinem Ruby-Problem aus: Sicher, dass die Datei auch deine angegebenen Line-Delimiter besitzt? Woraus ich hinauswill ist die typische Windows/Linux/Mac-\r\n-Problematik.
 

Sir Q

Rheinischer Winterrambour
Registriert
12.04.05
Beiträge
923
quoteArray = File.readlines('/path/quotes.txt')