我有两个字符串。它们在to_sym
:
key = "awesome123xyz"
key.to_sym #=> :awesome123xyz
object.id #=> "589d62c016bd4d0005bccc15"
object.id.to_sym #=> :"589d62c016bd4d0005bccc15"
为什么object.id.to_sym
看起来像是一个字符串:
:"589d62c016bd4d0005bccc15"
而不是像这样的符号?:
:589d62c016bd4d0005bccc15`
答案 0 :(得分:5)
因为在Ruby中:589d62c016bd4d0005bccc15
不是有效的符号文字。如果你有一个从整数或整数本身开始的字符串,转换为符号文字,它将始终具有以下形式:
'23'.to_sym
#=> :"23"
23.to_s.to_sym
#=> :"23"