[英]What is the difference between : and “” in Ruby hashes?
我看到有些人使用这样的哈希:
end_points = { "dev" => "http://example.com"}
在其他地方使用这个:
end_points = { :dev => "http://example.com"}
这两种方法有什么区别?
在第一种情况下,您使用第二个字符串使用符号。 符号是Ruby中的特定类型。 在整个程序中只有一个符号实例,但字符串可以有很多。 即
> :sym.__id__
=> 321608
> :sym.__id__
=> 321608
> "sym".__id__
=> 17029680
> "sym".__id__
=> 17130280
如您所见,符号始终具有相同的ID,这意味着它始终是相同的对象,但字符串是每次新的字符串在新的内存位置。 这就是为什么符号作为哈希键更常见的情况,它只是更快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.