2009-09-13 54 views
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 

我知道'klass'用于防止与关键字'class'的命名空间冲突,但为什么要在此代码中使用'klass'或'class'(来自Rails :: ActiveSupport) - 目的是什么他们服务?什么是克拉斯在这里使用?或者,如果使用班级,为什么需要?什么是klass/class?为什么在这段代码中需要klass?

回答

6

class是定义类的关键字。 klass仅仅是一个局部变量的名称,如果它不是因为您不能命名局部变量class而被称为class。除了它看起来像class以外,其他变量的名称klass没有特别的意义。

-2

我认为这是为了可读性。当你有很长的一段代码时,即使它只被使用一次,它也有助于在某些中间步骤中命名。