2016-09-23 78 views
-3
  1. 帮助我这个代码T_T为什么它继续显示语法错误,意外“:” exepcting结束输入数据库:{语法错误,意外“:”希望结束输入

    database: { 
        total_car_price: 20000, 
        stock_car_price: 20000, 
        features: { 
         rim: { 
          '16' => 50, 
          '15' => 30, 
          '14' => 10 
         }, 
         color: { 
          'blue' => 0, 
          'red' => 0, 
          'yellow' => 0 
         }, 
         tint: { 
          '100' => 80, 
          '80' => 50, 
          '50' => 0 
         }, 
         seat: { 
          'leather' => 500, 
          'PVC' => 300 
         } 
        } 
    } 
    
    puts "Original price : #{database[:stock_car_price]}" 
    
    database[:features].each do |feature, data| 
        puts feature.upcase 
        data.each do |option, extra_cost| 
         puts "#{option} :: #{extra_cost}" 
        end 
        while true 
         selection = gets.chomp 
         if data.keys.include? selection #make it general that can accept string/integer 
          database[:total_car_price] += data[selection] 
          break 
         else 
          puts 'Incorrect selection!' 
         end 
        end 
    end 
    
    
    puts "Stock Price :: #{database[:stock_car_price]}" 
    puts "Final Price :: #{database[:total_car_price]}" 
    
+0

请正确格式化您的代码。 –

+0

尝试'ruby -w '以获得有关错误发生位置的提示。 –

+0

你试过我的答案吗? – araratan

回答

1

你应该分析你JSON是这样的:

json = { 
    database: { 
    total_car_price: 20000, 
    stock_car_price: 20000, 
    features: { 
     rim: { 
      '16' => 50, 
      '15' => 30, 
      '14' => 10 
     }, 
     color: { 
      'blue' => 0, 
      'red' => 0, 
      'yellow' => 0 
     }, 
     tint: { 
      '100' => 80, 
      '80' => 50, 
      '50' => 0 
     }, 
     seat: { 
      'leather' => 500, 
      'PVC' => 300 
     } 
    } 
} 
} 

parsed_json = JSON.parse(json.to_json) 

puts "Original price : #{parsed_json['database']['stock_car_price']}" 

这里是工作样例:

working code

相关问题