Ruby 如何将带点的字符串转换为符号
我正在尝试转换字符串。给一个符号。我希望得到:国家。包括这一点 我尝试了以下方法,但它们不起作用,因为我的符号仍然有引号Ruby 如何将带点的字符串转换为符号,ruby,symbols,literals,Ruby,Symbols,Literals,我正在尝试转换字符串。给一个符号。我希望得到:国家。包括这一点 我尝试了以下方法,但它们不起作用,因为我的符号仍然有引号 "country.".to_sym; #=> :"country." "country.".intern; #=> :"country." "country.".parameterize.underscore.to_sym; #=> :country "country\.".to_sym; #=> :"country." 也许它会帮助你: :'cou
"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."
虽然它看起来不“正确”,但它将充当任何其他符号 它被转换为:国家。为你?将该点作为simbolYes的一部分,它正在工作。即使您自己的代码也显示了它的工作原理,至少在第1、2和4行中,句点明显存在。一切都很好…:country..to_sym.class=>Symbol