【问题标题】:To convert variable name to string or symbol将变量名转换为字符串或符号
【发布时间】:2016-02-10 03:11:08
【问题描述】:

在rails中可以将变量名转换为字符串吗?

示例: stack_overflow = "Fantastic!".

stack_overflow.to_sym 我会得到:Fantastic!。 相反,我会 => :stack_overflow

而且,如果可能的话,这会是糟糕的编程导致不安全的代码吗?

谢谢:-)

【问题讨论】:

  • 你为什么需要那个?在您的代码中,只需将变量设置为您想要的名称,或者来自用户的参数
  • 在方法中,我有一些重复的指令,因为它们做同样的事情:它们使用符号 => 值设置散列。该值由参数传递,而不是符号的名称是静态的,因为它完全取决于方法,而且每个方法中的符号必须不同。所以我会知道是否有什么东西可以对变量的名称进行“评估”,从而对 DRY 代码进行处理。你的想法很好(通过参数传递符号),但我想和别人一起安慰自己:-) 谢谢!
  • 我建议发布您的代码并询问如何使其干燥,而不是您的建议。听起来您可以将重复的部分提取到一个方法中。
  • 嗨,Japed,抱歉迟到了。我的问题很简单,我还问这是否是一种好的编程方式。但是,我能得到一个具体的答案吗?那就是:有可能还是没有? :) 谢谢你!

标签: ruby-on-rails variables string-to-symbol


【解决方案1】:

你需要使用eval(),虽然我不知道你实现你想要的具体方式:

new_var = eval(stack_overflow.to_sym)

【讨论】:

    猜你喜欢
    • 2011-10-31
    • 2011-08-27
    • 2010-12-04
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多