我正在尝试将“$ {variablename}”转换为“#{variablename}”,以便它可以访问字符串中的变量。
例如,如果我有一个变量foo =“bar”,我想要“$ {foo}”。gsub(“$”,“#”)返回“bar”因为我期待“#{foo” }“这是”bar“,而是我得到了”\#{foo}“打开irb并试试这个
"${Hello}".gsub("$","#")
=> “\#{你好}”
我希望它是“#{Hello}”
有人可以帮忙吗?我希望我的问题很清楚......
答案 0 :(得分:3)
这只是为了渲染而逃避的事情。它正在做你想要它做的事情。
那就是说,只是生成字符串#{foo}
不会为你执行字符串插值。字符串不会突然插入第二个包含#{}
。
您应该重新考虑您的代码,以便您的值存储在哈希值中,而不是局部变量。