    # File lib/facets/core/string/each_word.rb, line 8
      def each_word( &yld )
        rest_of_string = self
        wordfind = /([-'\w]+)/
        arity = yld.arity
        offset = 0
        while wmatch = wordfind.match(rest_of_string)
          word = wmatch[0]
          range = offset+wmatch.begin(0) ... offset+wmatch.end(0)
          rest_of_string = wmatch.post_match
          if arity == 1
            yld.call(word)
          else
            yld.call(word, range)
          end
          offset = self.length - rest_of_string.length
        end
      end