我有两个字符串.他们的行为方式不同to_sym:
key = "awesome123xyz"
key.to_sym #=> :awesome123xyz
object.id #=> "589d62c016bd4d0005bccc15"
object.id.to_sym #=> :"589d62c016bd4d0005bccc15"
Run Code Online (Sandbox Code Playgroud)
为什么object.id.to_sym看起来像String的东西:
:"589d62c016bd4d0005bccc15"
Run Code Online (Sandbox Code Playgroud)
而不是像这样的符号?:
:589d62c016bd4d0005bccc15`
Run Code Online (Sandbox Code Playgroud)
因为在Ruby :589d62c016bd4d0005bccc15中不是有效的Symbol文字.如果你有一个从整数或整数本身开始的字符串,转换为符号文字,它将始终具有以下形式:
'23'.to_sym
#=> :"23"
23.to_s.to_sym
#=> :"23"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |