配列を配列の配列に分割したい。条件付きで配列を反復する
test_ary = %w(101 This is the first label 102 This is the second label 103 This is
the third label 104 This is the fourth label)
result = iterate_array(test_ary)
予想される出力:私は簡単に、よりエレガントな方法がなければならないと思います
def iterate_array(ary)
temp_ary = []
final_ary =[]
idx = 0
temp_ary.push ary[idx]
idx +=1
done = ary.length - 1
while idx <= done
if ary[idx] =~ /\d/
final_ary.push temp_ary
temp_ary = []
temp_ary.push ary[idx]
else
temp_ary.push ary[idx]
end
idx +=1
end
final_ary.push temp_ary
returned_ary=final_ary.map {|nested_ary| nested_ary.join(" ")}
returned_ary
end
:
#⇒ [
# "101 This is the first label",
# "102 This is the second label",
# "103 This is the third label",
# "104 This is the fourth label" ]
私は、次のような方法を書きました。何か案は?
こんにちはM君ならば、それが役立つだろう期待される出力が含まれていると、フォーマットエラーの一部を解決するのに役立ちます。 – mwp
申し訳ありません。私はちょうどフォーマットにキャッチしています。うまくいけば私はそれをきれいにした(Vladの助けを借りて) - M –