Ruby方法'to_sym'有什么作用?

ker*_*lin 49 ruby methods

to_sym方法有什么作用?它是干什么用的?

cHa*_*Hao 55

to_sym将字符串转换为符号.例如,"a".to_sym成为:a.

它并不特定于Rails; vanilla Ruby也有它.

看起来在某些版本的Ruby中,符号也可以转换为Fixnum和从Fixnum转换.但是irb从ruby-lang.org的Ruby 1.9.2-p0开始,除非你将自己的to_sym方法添加到Fixnum ,否则不允许这样做.我不确定Rails是否会这样做,但在任何情况下它似乎都没有用.

  • @fotanus我认为你的意思是记忆**泄漏**,而不是某种蔬菜:http://en.wikipedia.org/wiki/Leek (32认同)
  • 如果您在代码中使用to_sym,请注意!你可能有一个韭菜.符号永远不会被ruby分配. (5认同)
  • @GaurangTandon:因为字符串没有`to_sym!`方法.方法名称末尾的`!`实际上是名称的一部分.(Ruby让方法名称以`?`或`!`结尾.) (3认同)