Ergebnis 1 bis 4 von 4
  1. #1
    Doppelter Melonenapfel
    Themenstarter
    Avatar von Zettt
    Registriert
    10.2005
    Ort
    Stuttgart
    Alter
    30
    Beiträge
    3.364

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

    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 •••
    •••• Mac OS X Screencasts ••••
    •••• Tontechnik für Anfänger ••••

  2. #2
    Doppelter Melonenapfel
    Themenstarter
    Avatar von Zettt
    Registriert
    10.2005
    Ort
    Stuttgart
    Alter
    30
    Beiträge
    3.364
    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]
    ••• @Zettt •••
    •••• Mac OS X Screencasts ••••
    •••• Tontechnik für Anfänger ••••

  3. #3
    Cripps Pink
    Registriert
    01.2010
    Beiträge
    153
    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.

  4. #4
    Pomme Etrangle Avatar von Sir Q
    Registriert
    04.2005
    Ort
    JWD
    Alter
    32
    Beiträge
    907
    quoteArray = File.readlines('/path/quotes.txt')

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •