创建哈希时语法错误意外','

时间:2012-10-21 13:00:15

标签: ruby

我在这行中有语法错误:

credit_card = {
  :user => :credit_card_number,
  "credit_card_date(2i)",
  "credit_card_date(1i)",
  :credit_card_name,
  :credit_card_surname,
  :credit_card_ccv
}}

使用1.8.7-p370我收到此错误:

  

语法错误意外','

尽管如此,我的应用程序正常工作,但我无法修复此错误。我错过了什么?我该如何解决这个错误?

3 个答案:

答案 0 :(得分:3)

你应该这样做:

credit_card = {:user => {:credit_card=>'Your credit card info'}}

答案 1 :(得分:3)

你想要制作的哈希是非常糟糕的,你要么丢失了键,要么你已经得到了你想要的结构(嵌套?)以某种方式混乱。

你能说明你想要的最终结果吗?

如果它只是一个平面哈希,它需要更像这样:

credit_card = {   
  :user => :credit_card_number,
  :missing_hash_key => "credit_card_date(2i)",
  :missing_hash_key_2 => "credit_card_date(1i)",
  :missing_hash_key_3 => :credit_card_name,
  :missing_hash_key_4 => :credit_card_surname,
  :missing_hash_key_5 => :credit_card_ccv } # you also had an extra end bracket here '}'

答案 2 :(得分:1)

你得到的错误,因为你的Hash语法是错误的,你又写了一个额外的结束花括号,它没有相应的左括号。哈希总是应该有键和值对。所以你可以这样写。

user = {:credit_card => { :credit_card_number => "some_numb", 
        :credit_card_date_2i => "some_string"}, ...}