我从shell中获得了几行代码。是否有可能得到Array
每行作为其元素?
答案 0 :(得分:7)
当然,根据输出你可以拆分它。例如:
lines = `ls`.split
此解决方案独立于您用于执行程序的方法。只要你得到完整的字符串,你就可以split
。
答案 1 :(得分:4)
原始问题是在行上拆分,默认情况下,split
函数会在空白处分割。虽然这可能就足够了,但您可能需要传递正则表达式,如:
`ls -l`.split(/$/)
返回数组中单独元素中的每一行。但是,它并没有摆脱最初的回车或换行。为此,您需要使用map
函数迭代数组并将strip
应用于每个数组,如:
`ls -l`.split(/$/).map(&:strip)