    # File lib/core/facets/string/expand_tab.rb, line 16
      def expand_tabs(n=8)
        n = n.to_int
        raise ArgumentError, "n must be >= 0" if n < 0
        return gsub(/\t/, "") if n == 0
        return gsub(/\t/, " ") if n == 1
        str = self.dup
        while
          str.gsub!(/^([^\t\n]*)(\t+)/) { |f|
            val = ( n * $2.size - ($1.size % n) )
            $1 << (' ' * val)
          }
        end
        str
      end