【问题标题】:Ruby - evaluate string placeholder in variable at runtime [duplicate]Ruby - 在运行时评估变量中的字符串占位符[重复]
【发布时间】:2017-04-12 13:17:27
【问题描述】:

我在一个包含占位符的变量中有一个字符串。所以从字面上看,我有这个:

x = "something_\#{environment}"

我想在运行时使用在定义 x 时不可用的环境值执行 x 的占位符替换。我最终想得到:

y = "something_test"

有没有办法在 Ruby 中实现这一点?

编辑 1:使用已死的 eval 无法解决此问题。因此,链接的副本没有解决我的问题。

【问题讨论】:

    标签: ruby


    【解决方案1】:

    使用带有%的模板:

    template = "something_%s"
    #=> "something_%s"
    x = template % ["test"]
    #=> "something_test"
    

    【讨论】:

    • % 也支持命名占位符:'something_%{environment}' % {environment: 'test'}
    • 命名模板正是我想要的。不知道我可以用 %. Stefan,如果您在其中添加新答案,我将标记为已接受答案。
    猜你喜欢
    • 1970-01-01
    • 2013-04-23
    • 2020-04-20
    • 2011-08-15
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多