2017-03-11 4 views
0

Ich versuche, eine Tabelle mit der Kalkulationstabelle Edelstein in Ruby zu durchlaufen. Ich muss in der 6. Zeile aufgrund einer Reihe von Müll auf den ersten 5 Reihen starten, kann aber nicht scheinen, um herauszufinden, wie die letzte Zeile zu überspringen, da es leer istRuby Spreadsheet Gem jede Schleife mit Ausnahme der letzten Zeile

mein Code:

sheet.each 6 do |row| 
    puts row 
end 

funktioniert gut, aber legt wieder eine leere Zeile am Ende des Arbeitsblatts. Ich habe versucht

sheet[6..-1].each do |row| 
sheet.each[6..-1] do |row| 

beide werfen Fehler. Ich habe das Gefühl, dass es eine sehr elegante Art gibt, dies zu tun, die ich einfach nicht bekomme.

+0

Beziehen Sie sich auf die [zdavatz/Kalkulationstabelle gem] (https://github.com/zdavatz/spreadsheet)? – sonna

Antwort

0

Sie waren in der Nähe, müssen Sie die rows innerhalb des ersten Blattes zuzugreifen,

sheet.rows[6...-1].each do |row| 
    puts row 
end 

Auch ein zusätzlicher Punkt . innerhalb des Bereichs verwendet, um den Endwert auszuschließen.

Rang konstruiert einschließend .. Lauf vom Anfang bis zum Ende unter Verwendung von. Diejenigen, die mit ... erstellt wurden, schließen den Endwert aus.

- Class: Range (Ruby 2_4_0)

Verwandte Themen