我正在准备一个将被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)
它打印字符串["a", "b", "c"]
.
有没有比较惯用的方法呢?Array#to_s
不削减它.有没有办法将p
方法的输出分配给变量?
谢谢!
inspect
应该完成你想要的.
>> a = %w(a b c) => ["a", "b", "c"] >> a.inspect => "[\"a\", \"b\", \"c\"]"