def unique_temp(name)
      name = name.to_s
      if name && !name.empty?
        name = name
               .to_s
               .gsub('<=>', '$lt_eq_gt')
               .gsub('===', '$eq_eq_eq')
               .gsub('==', '$eq_eq')
               .gsub('=~', '$eq_tilde')
               .gsub('!~', '$excl_tilde')
               .gsub('!=', '$not_eq')
               .gsub('<=', '$lt_eq')
               .gsub('>=', '$gt_eq')
               .gsub('=', '$eq')
               .gsub('?', '$ques')
               .gsub('!', '$excl')
               .gsub('/', '$slash')
               .gsub('%', '$percent')
               .gsub('+', '$plus')
               .gsub('-', '$minus')
               .gsub('<', '$lt')
               .gsub('>', '$gt')
               .gsub(/[^\w\$]/, '$')
      end
      unique = (@unique += 1)
      "#{'$' unless name.start_with?('$')}#{name}$#{unique}"
    end
def unique_temp(name)
      name = name.to_s
      if name && !name.empty?
        name = name
               .to_s
               .gsub('<=>', '$lt_eq_gt')
               .gsub('===', '$eq_eq_eq')
               .gsub('==', '$eq_eq')
               .gsub('=~', '$eq_tilde')
               .gsub('!~', '$excl_tilde')
               .gsub('!=', '$not_eq')
               .gsub('<=', '$lt_eq')
               .gsub('>=', '$gt_eq')
               .gsub('=', '$eq')
               .gsub('?', '$ques')
               .gsub('!', '$excl')
               .gsub('/', '$slash')
               .gsub('%', '$percent')
               .gsub('+', '$plus')
               .gsub('-', '$minus')
               .gsub('<', '$lt')
               .gsub('>', '$gt')
               .gsub(/[^\w\$]/, '$')
      end
      unique = (@unique += 1)
      "#{'$' unless name.start_with?('$')}#{name}$#{unique}"
    end
Used to generate a unique id name per file. These are used
 mainly to name method bodies for methods that use blocks.