2013-06-05 5 views
9

Ich habe dies:Wie kann ich dies innerhalb der each_char tun?

sentence.each_char {|char| 
    ...... 
    ...... 
} 

Ich möchte dies:

sentence.each_char {|char| 
    if (char is the last char) 
    ...... 
    end 
} 

Weiß jemand, wie ich das tun kann?

+0

Siehe http://stackoverflow.com/questions/2241684/magic-first-and-last-indicator-in-a-loop- In-Ruby-Rails für viele gute Ideen. Es gibt keine einfache, idiomatische Methode und die beste Alternative hängt von den Besonderheiten Ihres Anwendungsfalls ab. –

Antwort

17
length = sentence.length 
sentence.each_char.with_index(1){|char, i| 
    if i == length 
    ... 
    end 
} 
10

Sie suchen 'with_index' Option

sentence.each_char.with_index {|char, index| 
    if (index == sentence.length-1) 
    ...... 
    end 
}