当前位置:  开发笔记 > 编程语言 > 正文

用于eval的Stringify数组

如何解决《用于eval的Stringify数组》经验,为你挑选了1个好方法。

我正在准备一个将被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方法的输出分配给变量?

谢谢!



1> Aaron Hinni..:

inspect 应该完成你想要的.

>> a = %w(a b c)
=> ["a", "b", "c"]
>> a.inspect
=> "[\"a\", \"b\", \"c\"]"

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有