• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

[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
 
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]
 
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.
 
quoteArray = File.readlines('/path/quotes.txt')