Linux

このエントリーをはてなブックマークに追加
680いやあ名無しってほんとにいいもんですね
プログラミング初心者です。以下の課題が出されたのですが、まったくわかりません。助言おねがいします。

while line = ARGF.gets
if /LOCUS/ =~ line print "\n----------\n",line
elsif /DEFINITION/ =~ line
begin
print line
line = ARGF.gets
end until /^\w/ =~ line
elsif /ACCESSION|SOURCE/ =~ line
print line
elsif /ORIGIN/ =~ line
print line
line = ARGF.gets
seq = ""
begin
line.scan /[A-Za-z]+/ do | aChunk |
seq << aChunk
end
line = ARGF.gets
end until /\/\// =~ line
print seq, "\n"
end
#print '*'+line
end

このプログラムはDEFINITIONが複数行のときにそれらすべてを印刷するようにしたものだが、この変更によってACCESSIONが出力されなくなっている。この理由を考えて説明しなさい。
もし可能であればプログラムをさらに改良してACCESSIONも出力するようにしてみる。