so ändern Sie eine text-Datei in ruby
Habe ich eine Datei namens ama.txt und der Inhalt der Datei ist wie folgt:
name age hobby sex
amit 45 music male
sumit 35 cricket female
Nun kann ich die Datei öffnen wie dieses:
File.open("ama.txt").each do
end
Wie kann ich ändern, das hobby
Spalte der Datei?
InformationsquelleAutor Milan | 2010-07-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das Allgemeine Muster für so etwas ist grob wie folgt:
cols = line.split(/\s+/)
und dann Sie Bearbeiten möchtencols[2]
, obwohl ich nicht weiß, ob die änderungen passen ein Muster oder was.Ruby, wie die meisten scripting Sprachen, hat viele integrierte Möglichkeiten, um einige dieser Schritte schneller werden, aber das ist das Grundmuster. Dmitry ist möglicherweise richtig, dass ein CSV-reader würde hier helfen können, aber ich kann nicht sehen, wie gut formatierten (oder nicht) Ihre Daten, also bin ich nicht einmal gehen, um in diese zu bekommen.
Schließlich, und nicht unhöflich zu sein, aber es scheint nicht, dass Sie wissen, Ruby besonders gut. Warum ist Ruby eine Voraussetzung? Kennen Sie eine andere Skript-Sprache? Wie gut kennen Sie Ruby? Im Allgemeinen sind die Menschen hier wird Ihnen helfen, mit den Dingen, aber nicht einfach schreiben Sie den code für Sie.
Beantworten Amit die Frage zu Schritt 4: Wenn Sie eine neue Datei zum schreiben geöffnet ist, haben Sie einen filehandle - Variablen in Ihrem Programm verweist auf die Datei öffnen. Sie können schreiben, dass die Datei mit dem filehandle als Empfänger für
puts
. Das sieht komisch auf den ersten, daputs
sieht aus wie eine normale Funktion, aber es ist ein Aufruf der Methode in Ruby. Versuchen Sie, diese inirb
oder eine kurze Ruby-Skript:Noch ein kurzes Beispiel:
yaa okk Sie sagen zu Recht niemand schreiben code für mich danke für Eure Hilfe
und tele, was u sagte, wird nicht funktionieren, also das nächste mal kommen etwas anders
das bisschen, was Telemach sagte, würde nicht funktionieren?
ich wusste nicht, was er sagte, bei der 4. Punkt mikej
InformationsquelleAutor Telemachus
Oder nutzen Sie einfach fastercsv gem.
Dmitry, ich habe zu diesem code in der Datei.open("ama.txt).jeweils Ende ??
Tele seine nicht funktioniert ich will zum ändern der Werte von hobby-Spalte, wie das geht??
nd-Datei.öffnen ist nicht zurückgegebene array von Zeilen, wie wenn ich versuchte zu tun, wie puts "#{line[0]}" ich bin nicht immer jeden Wert
und eine weitere, die ich wouls gerne haben diese Veränderungen müssen sich in ama.txt Datei
InformationsquelleAutor Dmitry Maksimov