Ruby中的字符串和符号有什么区别?

gso*_*oni 1 ruby

我使用Sphinx插件进行搜索和配置

define_index do
  indexes First_name, :sortable => true
  set_property :min_prefix_len => 1
end
Run Code Online (Sandbox Code Playgroud)

这里First_name是列名.

但我收到"搜索守护程序无法运行"的错误.当我将列名称作为符号时,它会完美运行.

define_index do
  indexes :First_name, :sortable => true
  set_property :min_prefix_len => 1
end
Run Code Online (Sandbox Code Playgroud)

请告诉我.

Fal*_*con 5

http://www.robertsosinski.com/2009/01/11/the-difference-between-ruby-symbols-and-strings/

我认为你的例子不起作用,因为在第一个变体中,First_name不是一个字符串.这是可变的

"First_name" - 将是一个字符串