Retour index de toutes les occurrences d'un caractère dans une chaîne de caractères en ruby

Je suis en train de retourner à l'indice de toutes les occurrences d'un caractère particulier dans une chaîne de caractères à l'aide de Ruby. Un exemple de chaîne est "a#asg#sdfg#d##" et le rendement attendu est [1,5,10,12,13] lors de la recherche pour # caractères. Le code suivant fait le travail, mais il doit y avoir un moyen plus simple de faire cela?

def occurances (line)

  index = 0
  all_index = []

  line.each_byte do |x|
    if x == '#'[0] then
      all_index << index
    end
    index += 1
  end

  all_index
end
InformationsquelleAutor Gerhard | 2009-11-30