これはより一般的なプログラミングの質問かもしれませんが、この問題を解決するための ruby のベスト プラクティスは何かと考えています。次のような構造のファイルを解析したい:
toplevel blah blah 0
attr0: foo
attr1: bar
nextlevel something 0
child0: baz
child1: boz
var1: blah
nextlevel something 1
child0: faz
abc: yes
child1: foz
分割を使用してチャンクを解析するか、おそらくファイルを反復処理して.each_line
から、どういうわけか(方法がわからない)ネストされた反復を行うことを検討しました
ネストされた行は、次のようになると思います。
input.each_line do |line|
#parse attributes
if line =~ /nextlevel:\s+(\d)/ then
#now advance the line count somehow and continue parsing in here
end
PS 例の名前が少し乱雑で申し訳ありませんが、単純化された MWE を考え出そうとしていました。