challenge 自分自身のファイル名を知る方法

自分自身のファイル名を知る方法を示してください。

ビルド後のファイルが、hogehoge.exeであれば、
”hogehoge.exe”が表示されるようなプログラムを書いてください。
スクリプト言語でも同様です。

ファイル名が変更されたらそれに追従するようにしてください。

Posted feedbacks - Groovy

fumokmm氏のコードが参考になりました。 ThrowableのstackTraceからエラー処理でなく情報を抜き取る技は、いろいろ応用が効きそうです。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
def getFileName() {
    def the_thisClassName = getClass().getName()
    def the_inThisObject = new Throwable().getStackTrace().findAll     {
            the_stackTraceElement ->
            the_thisClassName.equals(the_stackTraceElement.getClassName())
        }
    return the_inThisObject[1].getProperties().fileName
}

println getFileName()

Index

Feed

Other

Link

Pathtraq

loading...