ソース行、ファイル、およびパスの識別子

__LINE____SOURCE_DIRECTORY____SOURCE_FILE__ の識別子は、コード内でソースの行番号、ディレクトリ、ファイル名にアクセスできるようにする組み込みの値です。

構文

__LINE__
__SOURCE_DIRECTORY__
__SOURCE_FILE__

解説

これらの各値には型 string が指定されています。

次の表は、F# で使用できるソース行、ファイル、パスの識別子をまとめたものです。 これらの識別子はプリプロセッサ マクロではなく、コンパイラによって認識される組み込みの値です。

定義済み識別子 説明
__LINE__ #line ディレクティブを考慮して、現在の行番号として評価されます。
__SOURCE_DIRECTORY__ #line ディレクティブを考慮して、ソース ディレクトリの現在の完全なパスとして評価されます。
__SOURCE_FILE__ #line ディレクティブを考慮して、パスを除いた現在のソース ファイル名として評価されます。

#line ディレクティブの詳細については、「コンパイラ ディレクティブ」を参照してください。

これらの値の使用方法を次のコード例に示します。

let printSourceLocation() =
    printfn "Line: %s" __LINE__
    printfn "Source Directory: %s" __SOURCE_DIRECTORY__
    printfn "Source File: %s" __SOURCE_FILE__
printSourceLocation()

出力:

Line: 4
Source Directory: C:\Users\username\Documents\Visual Studio 2017\Projects\SourceInfo\SourceInfo
Source File: Program.fs

関連項目