• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> 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')