challenge コメントの削除

ソースコードからコメント部分を削除するプログラム decomment を書いてください.
すくなくとも,decomment を記述したのと同じ言語で書かれているソースコードが
扱えるようにしてください.



Posted feedbacks - Groovy

入力ファイルは "Test.groovy" に決めうちです。 一行中に複数の書式で文字列リテラルが登場するようなコーナーケースには非対応です。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
def text = new File("Text.groovy")
 escape=false
text.eachLine {line ->
    if (escape == false) {
        line = line.replaceAll(/\/\*.*\*\//) {""}     // /* */型のコメント
        line = line.replaceAll(/\/\/.*/) {""}         // //型のコメント
    }
    if (line =~ /(.*)"""(.*)/ && escape == false ) {  // """は、行をまたがってescapeする
        escape = true 
    } 
    println line    
}

Index

Feed

Other

Link

Pathtraq

loading...