4

シェルから数行の文字列を取得しています。Array各行がその要素であるを取得することは可能ですか?

4

2 に答える 2

9

確かに、出力に応じて、それを分割することができます。例えば:

lines = `ls`.split

このソリューションは、プログラムの実行に使用している方法とは無関係です。完全な文字列を取得する限り、それを実行できsplitます。

于 2013-03-26T10:35:17.690 に答える
6

元の質問は行で分割されていましたが、split関数はデフォルトで空白で分割されます。それで十分かもしれませんが、次のように正規表現を渡すこともできます。

`ls -l`.split(/$/)

これは、配列内の個別の要素の各行を返します。ただし、最初のキャリッジリターンまたはラインフィードは削除されません。そのためには、次のように、map関数を使用して配列を反復処理し、stripそれぞれに適用する必要があります。

`ls -l`.split(/$/).map(&:strip)
于 2015-03-16T18:38:51.930 に答える