2009-07-19 6 views

答えて

16

あなたは三項演算子を使用することができます

<% for item in @items %> 
    <%= n = n ? n+1 : 1 %> 
<% end %> 

しかし、あなたがやろうとしているものに応じて、私はeach_with_indexを推測していることは、より適切であろう

<% @items.each_with_index do |item, n| %> 
    <%= n %> 
<% end %> 
+0

私は2番目のオプションが私が探していたものだと思います。 – Zepplock

+0

"n"に初期値を割り当てる方法もありますか? – Zepplock

+2

初期値を割り当てて、毎回1​​ずつインクリメントしますか?インデックスはカウンタではなく、インデックスです。固定オフセットで増やしたい場合は、印刷時に追加してください:<%= n + 5 %> – zaius

0

え。

n = @items.size 
+0

いいえ、@ items.sizeは定数です(ループスコープ内で) – Zepplock

+0

ああ、私はあなたが何かをしていることを意味すると思います[私] else [/ i]をループ内に置いて、あなたの例には表示されていませんか? –

5

また、ルビのnil強制をゼロになる整数に頼ることもできます。

<% for item in @items %> 
    <%= n = n.to_i + 1 %> 
<% end %> 
関連する問題