【问题标题】:How to convert string with point to symbol [closed]如何将带有点的字符串转换为符号[关闭]
【发布时间】:2015-04-19 08:52:26
【问题描述】:

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

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

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

【问题讨论】:

  • 它已转换为 :country。为你? (包括点作为符号的一部分)
  • 是的,它正在工作。甚至您自己的代码也显示它有效,至少在第 1、2 和 4 行中,句点明显存在。
  • 一切顺利...:"country.".to_sym.class #=> Symbol

标签: ruby symbols literals


【解决方案1】:

它按预期工作。 一个符号大多数时候看起来像:

:symbol_name

但是,当符号包含特殊字符(例如空格或连字符,或者在您的情况下是句点)时,需要将其括在引号中:

:"symbol name with-many special characters."

虽然它看起来不“正确”,但它会充当任何其他符号。

【讨论】:

    【解决方案2】:

    也许它会帮助你:

    :'country.'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多