如何将带点的字符串转换为符号

How to convert string with point to symbol

我正在尝试将字符串 "country." 转换为符号。我希望收到 :country.,包括点 .

我尝试了以下方法,但它们不起作用,因为我的符号仍然有引号。

"country.".to_sym; #=> :"country."
"country.".intern; #=> :"country."
"country.".parameterize.underscore.to_sym; #=> :country
"country\.".to_sym; #=> :"country."

也许对你有帮助:

:'country.'

一切正常。 大多数时候的符号看起来像:

:symbol_name

但是,当符号包含空格或连字符等特殊字符时,或者在您的情况下是句点,则需要用引号将其括起来:

:"symbol name with-many special characters."

虽然它看起来不像 'correct',但它会像任何其他符号一样起作用。