Ich habe eine Schleife in HAML wie folgt:Ruby HAML respektiert booleans nicht?
- first = true
- @years.each do |year|
%th #{year}
- first = false and next if first == true
%th #{year} Δ
%th #{year} Δ %
Das Ziel ist delta
Spalten für Jahre nach dem ersten Jahr hinzuzufügen.
Beim Debuggen der Zeile kann ich sehen, dass first
korrekt auf false
gesetzt ist, aber die Spalten nach next
werden immer noch ausgegeben.
Wenn ich den Vergleich ohne booleans durchführen, die Dinge funktionieren wie erwartet:
- first = :true
- @years.each do |year|
%th #{year}
- first = :false and next if first == :true
%th #{year} Δ
%th #{year} Δ %
Versteht jemand, was unter der Haube vor sich geht?
Mit Ruby 2.2.3
und HAML 4.0.7
Bah, total Gehirn Furz auf meinem Teil, danke, eiko. Ich konnte mir einen kurzen One-Liner einfallen lassen, der Hilfsmittel aus dem 'finishing_moves'-Juwel verwendete:' (first = false) .false? und nächstes wenn zuerst.wörtlich? ' –