Viele Möglichkeiten, das in Rubin zu tun. Die meisten in der Regel, du wirst wollen Prozess eine Zeile zu einer Zeit, die Sie tun können, zum Beispiel mit
while line=gets
end
oder
STDIN.each_line do |line|
end
oder Rubin mit dem -n
Schalter ausgeführt wird, für Beispiel, das eine der obigen Schleifen impliziert (Zeile wird in $_
in jeder Iteration gespeichert und Sie können BEGIN{}
und END{}
hinzufügen, genau wie in awk
- das ist wirklich gut für Einzeiler).
Ich würde STDIN.read
nicht tun, obwohl, wie die gesamte Datei in den Speicher auf einmal gelesen wird (was schlecht sein kann, wenn die Datei sehr groß ist.)
Sie meinen Sie unbekannte Anzahl von Linien werden immer als Eingabe über die Tastatur? etwas wie STDIN in einigen Codierungswettbewerben? –