• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> 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')