「関数」の版間の差分

提供: AliceScript Wiki
ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
30行目: 30行目:
戻り値
戻り値


関数は、呼び出し元に<code>return</code>キーワードを使用して値を返すことができます。また、<code>return</code>キーワードは、関数の実行を中止します。任意の場面で関数の実行を中止したい場合、
関数は、呼び出し元に<code>return</code>キーワードを使用して値を返すことができます。関数の戻り値は呼び出し元でそのまま値として使用できます。次に例を示します。
値を持たない<code>return</code>キーワードを使用することができます。次に例を示します。


  function ReturnHello()
  function ReturnHello()
   {
   {
     return "Hello,World!";
     return "Hello,World!";
   print("例えば、これは実行されません。");
   }
   }
print(ReturnHello());
//出力:Hello,World!
また、<code>return</code>キーワードは、関数の実行を中止します。任意の場面で関数の実行を中止したい場合、
値を持たない<code>return</code>キーワードを使用することができます。次に例を示します。
function ShowHello()
  {
    print("Hello");
    return;
    print("Hello,(again)");//この行は、returnキーワードよりも後にあるため実行されません
  }
//出力:Hello


引数
引数

2021年10月30日 (土) 12:52時点における版

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

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();
//出力:(何も出力されません)