関数

提供: AliceScript Wiki
2021年10月30日 (土) 12:52時点におけるMaster (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

関数は、一連のステートメントが含まれているコードの集まりです。必要な引数を指定してプログラムから関数を呼び出すと、関数内のステートメントが実行されます。

function
名前空間 Alice
アセンブリ ローカル
サポート AliceScript1

関数は、クラスや名前空間内外で修飾子(overridevirtualなど)、関数の名前および引数を指定して宣言されます。

引数はかっこで囲み、各引数をコンマで区切ります。カッコ内を空にすると、関数で引数が不要なことを意味します。

定義された関数は、関数の定義された後で使用できるようになります。

次の例にはSayHello関数が定義されています。SayHelloが呼び出されたとき、標準出力にHello,World!を書き込みます。

function SayHello()
 {
   print("Hello,World!");
 }
SayHello();

戻り値

関数は、呼び出し元にreturnキーワードを使用して値を返すことができます。関数の戻り値は呼び出し元でそのまま値として使用できます。次に例を示します。

function ReturnHello()
 {
   return "Hello,World!";
 }
print(ReturnHello());
//出力:Hello,World!

また、returnキーワードは、関数の実行を中止します。任意の場面で関数の実行を中止したい場合、 値を持たないreturnキーワードを使用することができます。次に例を示します。

function ShowHello()
 {
   print("Hello");
   return;
   print("Hello,(again)");//この行は、returnキーワードよりも後にあるため実行されません
 }
//出力:Hello

引数

関数を定義する際には、必要な引数の名前を指定します。呼び出し元のコードから関数を呼び出すときに引数に具体的な値を指定します。次に例を示します。

function AddNumber(numA,numB)
 {
   rerturn numA + numB;
 }
print(AddNumber(1,2));
//出力:3

また、引数にparamsキーワードを使用すると、可変長個の引数を受け取る引数を指定できます。paramsの型は常にARRAYとなります。 一つの関数内では、paramsキーワードより後に引数を指定することができません。次に例を示します。

function PrintAllArgs(params args)
 {
   foreach(arg in args)
   {
     print(arg);
   }
 }
PrintAllArgs("Hello","World");
//出力:Hello
       World
PrintAllArgs();
//出力:(何も出力されません)