FB で使える、ふたつの手続きの、概要。
手続きとは、コードのかたまりで、プログラムのどこからでも、何回でも、実行させたり、呼び出したりできます。
実行されるコードは、手続きの本体と呼ばれます。
FreeBASIC には、2つの形式の手続きがあります:
値を返さない手続きと、値を返す手続きです。
Sub
Sub は、値を返さない手続きです。
Sub は、
Declare 予約語を使って、宣言して、
Sub 予約語を使って定義します。
手続きを宣言するのは、手続きを呼ぶことができるように、名前を紹介するためです。手続きの定義は、呼ばれたときに実行するコードの命令を、記載します。
sub は、プログラムのどこかで、
sub の名前を使って、簡単に呼び出すことができます。
' sub 'MyProcedure' を導入します
Declare Sub MyProcedure
' 'MyProcedure' 手続きを呼びます
MyProcedure
' 'MyProcedure' の手続きの本体を定義します
Sub MyProcedure
Print "MyProcedure の内容"
End Sub
Sleep
下のように出力されるでしょう:
手続きを呼ぶためには、宣言だけが必要なことに注意してください。
手続きは、後でコードで定義します。また、まったく異なったソースファイルで、手続きを定義することもできます。
Function
Function は、
Function が呼ばれるコードの部分に、値を返す手続きです。
function を呼ぶことは、変数やオブジェクトのように、式を評価すること、と考えてください。
function は、
Declare 予約語を使って、宣言します。そして、
Function 予約語を使って、定義します。
Function が返す値の型は、宣言の終わりで、指定します。
' 整数値を返す手続きを、導入して、定義します
Function MyProcedure As Integer
Return 10
End Function
' 手続きを呼んで、手続きの戻り値を、変数に保存します
Dim i As Integer = MyProcedure
Print i
Sleep
下のように出力されるでしょう:
Function の定義は、宣言を兼ねるので、Function は、Function が定義された後でしか、呼ぶことがでません。
手続き呼び出しの一般的な規則では、手続きを呼ぶとき、手続き名の後に丸括弧 '()' を置きます。
しかし、FreeBASIC では、この丸括弧を必要としません。
参照: