tags:

views:

54

answers:

1
    def record
      return unless @supported

      klasses = profile_options[:formats].map { |f| RubyProf.const_get("#{f.to_s.camelize}Printer") }.compact

      klasses.each do |klass|
        fname = output_filename(klass)
        FileUtils.mkdir_p(File.dirname(fname))
        File.open(fname, 'wb') do |file|
          klass.new(@data).print(file, profile_options.slice(:min_percent))
        end
      end
    end

I understand that 'klass' is used to prevent namespace conflicts with the keyword 'class' but why would either 'klass' or 'class' be needed in this code (from Rails::ActiveSupport) - what purpose do they serve? What is klass used for here? Or, if class were used instead, why would it be needed? What's klass/class for?

+2  A: 

class is a keyword to define classes. klass is simply a name given to a local variable, which would have been called class if it wasn't for the fact that you can't name a local variable class. There is no special significance to the name klass for variables other than that it looks like class.

sepp2k