Zwei Dinge:
.each_char
verwenden, um über die Zeichen zu iterieren. In Ruby 1.8 wird String.each
Zeile für Zeile angezeigt. In Ruby 1.9 ist String.each
veraltet. $stdout
manuell leeren, wenn die Zeichen sofort angezeigt werden sollen. Andernfalls neigen sie dazu, gepuffert zu werden, so dass die Zeichen am Ende alle gleichzeitig erscheinen. .
%Vor%Zwei Dinge:
each
darauf verwenden. Schalten Sie die Ausgabepufferung aus.
%Vor%Ruby puffert die Ausgabe und spült sie auf die Standardausgabe, nachdem sie eine bestimmte Größe erreicht hat. Du kannst es so erzwingen wie es ist.
%Vor% Hinweis: Wenn beim Drucken keine Leerzeichen zwischen den Zeichen stehen sollen, verwenden Sie .split.each
anstelle von .each_char
.
Nur zum Spaß : mit einer Definition wie dieser:
%Vor%Sie könnten das tun:
%Vor%Versuchen:
%Vor%Das funktioniert wie mit Ruby 1.9.2, das STDOUT nicht benötigt, um zwischen jedem Schreiben zu löschen.
Wenn Sie die Zwischenräume entfernen möchten, entfernen Sie %w
und verwenden Sie each_char
anstelle von each
.