タイプのすべての前処理命令をコメントアウトしようとしています:
if LABEL
do something
else
do something else
end
スクリプトに LABELS のリストを提供して、対象の「if」ステートメントを含む行と、ステートメントの「else」部分の下にあるすべてのコードのみをコメントアウトするようにする必要があります (存在する場合、または存在しない場合があります)。 「その他」)。
他のタイプの前処理命令 (すべてキーワード「end」で終わる) が存在する可能性があることに注意してください。これにより、複数レベルのネストがある場合に困難が増します。そのため、各「if LABEL_OF_INTEREST」に関連付けられている正しい else/end を確実に削除する必要があります。
行をコメントアウトするには、# を使用します。
わかりやすくするために、「if」ステートメント内のコードのみを保持する必要があり、残りはコメントアウトする必要がある例を見てみましょう。入力は次のとおりです。
if STATEMENT_TO_KEEP
do somthing useful
do somthing else useful
while A < 1
if STATEMENT_TO_IGNORE
do somthing useful
do somthing else useful
else
do nothing
do nothing
end
end
else
do nothing
do nothing
end
if STATEMENT_TO_KEEP
do somthing useful
do somthing else useful
end
期待される結果は次のようになります。
#if STATEMENT_TO_KEEP
do somthing useful
do somthing else useful
while A < 1
if STATEMENT_TO_IGNORE
do somthing useful
do somthing else useful
else
do nothing
do nothing
end
end
#else
# do nothing
# do nothing
#end
#if STATEMENT_TO_KEEP
do somthing useful
do somthing else useful
#end