为什么HAML代码通常使用Ruby符号(:http_equiv,:content)而不是普通字符串(“http_equiv”,“content”)?

时间:2013-03-08 12:57:18

标签: ruby haml

HAML代码通常使用符号,如下所示:

%meta{:http_equiv=>"Content-Type", :content=>"text/html; charset=utf-8"}

但为什么不是这样,使用字符串呢?

%meta{"http_equiv"=>"Content-Type", "content"=>"text/html; charset=utf-8"}

两者都很好。

HAML程序员在使用符号而不是字符串时看到了什么真正的好处?我不明白。我的猜测是HAML无论如何只是从符号中解析字符串,那么重点是什么?

2 个答案:

答案 0 :(得分:2)

你引用的结构是地图,ruby标准是使用符号作为键而不是字符串。

答案 1 :(得分:2)

您在此引用的结构:{:http_equiv=>"Content-Type", :content=>"text/html; charset=utf-8"}是哈希。以下是一个非常好的答案:“为什么Ruby使用符号作为哈希中的键?”

Why use symbols as hash keys in Ruby?