我遇到了Ruby String Documentation并测试了这些方法.我发现两种相似的方法是to_sym和intern方法.
"cat".intern
=> :cat
"cat".to_sym
=> :cat
Run Code Online (Sandbox Code Playgroud)
我搜索了Stack Overflow并且令人惊讶地没有被问过.我自己可以发现两者之间没有区别,所以我想我会问这个.
如果他们做同样的事情,一种方法比另一种更快吗?如果是这样,那么使用该方法是有意义的.
Uri*_*ssi 22
它们似乎是同一个东西的别名.从文档,你可以看到的示例代码intern的用途to_sym:
实习生→符号
返回与str对应的Symbol,如果以前不存在则创建该符号.见
Symbol#id2name.Run Code Online (Sandbox Code Playgroud)"Koala".intern #=> :Koala s = 'cat'.to_sym #=> :cat s == :cat #=> true s = '@cat'.to_sym #=> :@cat s == :@cat #=> true这也可用于创建无法使用:xxx表示法表示的符号.
Run Code Online (Sandbox Code Playgroud)'cat and dog'.to_sym #=> :"cat and dog"
| 归档时间: |
|
| 查看次数: |
4966 次 |
| 最近记录: |