这可能是您在编程101中学到的东西。为什么一个哈希文字在Ruby中称为哈希文字?
声明:我没有正式的编程培训。我是自学成才的。
对我来说,文字散列就像是什么this网站建议:第三个可编辑散列称为“咸牛肉散列”。
在Ruby中,有两个数据类型:
- 哈希
- 哈希文字
为什么一个叫文字?是因为你从字面上输出关联数组吗?上面的网站声称这是因为定义是内联的。如果是这样,为什么当你可以像这样输入时,哈希也不会被称为文字:
states = Hash.new
states["CA"] = "California"
states["MA"] = "Massachusetts"
states["NY"] = "New York"
states["MA"].reverse #=> "sttesuhcassaM"
你是什么意思的“不能编辑/修改”? '“foo”'是一个字符串文字,“'foo”.upcase!'会修改它。 – Stefan
@stefan不,它看起来像它,但它创建了一个新的对象。看演示。 –
这是因为''foo''每次都会创建一个新的对象,但'upcase!'确实会修改接收者:''foo“.tap {| s | p s.object_id} .upcase!.tap {| s | 's .object_id}' – Stefan