我正在准备一个将被eval
编辑的字符串.该字符串将包含从现有构建的子句Array
.我有以下内容:
def stringify(arg)
return "[ '" + arg.join("', '") + "' ]" if arg.class == Array
"'#{arg}'"
end
a = [ 'a', 'b', 'c' ]
eval_str = 'p ' + stringify(a)
eval(eval_str)
Run Code Online (Sandbox Code Playgroud)
它打印字符串["a", "b", "c"]
.
有没有比较惯用的方法呢?Array#to_s
不削减它.有没有办法将p
方法的输出分配给变量?
谢谢!
inspect
应该完成你想要的.
>> a = %w(a b c)
=> ["a", "b", "c"]
>> a.inspect
=> "[\"a\", \"b\", \"c\"]"
Run Code Online (Sandbox Code Playgroud)