行継続 文字を使うと、通常は 1行で記述するコードを複数行に分割して記述することができます。
記述:
コード行の最後にある一つの '_' (下線)文字は、その行が次の行に続くことをコンパイラーに伝えます。
これにより、1つの命令文(コード行)を入力ファイルの複数の行に分散させることができます。
これは、可読性の改善に役立ちます:
'' この Dim 命令文は、 '_' 文字を使って、2行で記述しています
Dim myvariable _
As Integer
これは、非常に長い命令行(例えば、多くのパラメーターを持つ手続きの宣言)を、読み取りやすくするために、しばしば用いられます:
'' これは一つの例です:
Declare Sub drawRectangle( ByVal x As Integer, ByVal y As Integer, ByVal w As Integer, ByVal h As Integer )
'' 上の行は、下のように書くことができます:
Declare Sub drawRectangle( ByVal x As Integer, ByVal y As Integer, _
ByVal w As Integer, ByVal h As Integer )
'' あるいは:
Declare Sub drawRectangle _
( _
ByVal x As Integer, _
ByVal y As Integer, _
ByVal w As Integer, _
ByVal h As Integer _
)
'' (あるいは 貴方のお好きな形式でどうぞ)
行継続文字
_ は、コードの行の、ほとんどどこにでも挿入することができます。しかし、コメントの中では使えません。
識別子またはキーワードの後に、行継続文字
_ を加えるとき、気をつけてください。
これは、少なくとも 1つの空白文字で切り離されなければなりません。さもなければ、これは識別子またはキーワードの一部として扱われます。
'' 変数 "a_" を宣言します
'' (行継続にはなりません。'_' 文字が、
'' 識別子 "a_" の一部になっているからです)
Dim As Integer a_
'' 変数 "a" を宣言して、値 5 に初期化します
'' (行継続として扱われます。'_' 文字が
'' 識別子 "a" と、空白文字で分離されているからです)
Dim As Integer a _
= 5
警告: '_' 行継続文字を使って、誤ったコード行が複数行ブロックにまたがっている場合、エラー・メッセージはブロックの最後の行だけを参照します。
注意 fbc version >= 1.08 の場合
:
マクロ/定義では、 '##_' を使って行継続文字 '_' を回避し、マクロ展開コードの複数行を1つの命令文に結合できるようにします。
参照: