[英]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.