tutorial:nim:procedures
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン | |||
tutorial:nim:procedures [2024/07/12 03:02] – freemikan | tutorial:nim:procedures [2024/08/19 19:19] (現在) – freemikan | ||
---|---|---|---|
行 12: | 行 12: | ||
'' | '' | ||
- | ====== 戻り値 | + | ===== 戻り値 ===== |
先のaddの例では、最後の式である'' | 先のaddの例では、最後の式である'' | ||
行 47: | 行 47: | ||
このプロシージャを'' | このプロシージャを'' | ||
- | ====== パラメーター | + | ===== パラメーター ===== |
パラメーター(parameters)とはプロシージャの引数を指します。プロシージャの呼び出し時に渡される値はアーギュメント(arguments)と読んで区別することが出来ます。Nimに限ったことではなくプログラミング一般において、必要なときにのみparametersとargumentsを使い分けることが多いです((日本語の古い資料だと仮引数と実引数に分けているものもあります。個人的な意見を言うと、どっちが「仮」でどっちか「実」か覚えておかなければならず、脳みそに無駄な負担かけるので、この名称は好ましくないと思っています。))。どちらを指しているかは文脈から明らかなことが多いので、最近は単に引数とだけ呼ばれるのが普通です。 | パラメーター(parameters)とはプロシージャの引数を指します。プロシージャの呼び出し時に渡される値はアーギュメント(arguments)と読んで区別することが出来ます。Nimに限ったことではなくプログラミング一般において、必要なときにのみparametersとargumentsを使い分けることが多いです((日本語の古い資料だと仮引数と実引数に分けているものもあります。個人的な意見を言うと、どっちが「仮」でどっちか「実」か覚えておかなければならず、脳みそに無駄な負担かけるので、この名称は好ましくないと思っています。))。どちらを指しているかは文脈から明らかなことが多いので、最近は単に引数とだけ呼ばれるのが普通です。 | ||
行 78: | 行 78: | ||
プロシージャ内での変更が呼び出し元にまで影響を与えている、すなわち、参照渡しとなっていることに注意してください。 | プロシージャ内での変更が呼び出し元にまで影響を与えている、すなわち、参照渡しとなっていることに注意してください。 | ||
- | ====== 戻り値を無視する | + | ===== 戻り値を無視する ===== |
Nimでは、値を返すプロシージャの呼び出しで、その戻り値を無視することは出来ません。 | Nimでは、値を返すプロシージャの呼び出しで、その戻り値を無視することは出来ません。 | ||
行 101: | 行 101: | ||
これはコンパイルエラーになりません。 | これはコンパイルエラーになりません。 | ||
- | ====== その他のプロシージャの特徴 | + | ===== その他のプロシージャの特徴 ===== |
プロシージャには便利に使えるようにするために、いくつか便利で重要な特徴があります。 | プロシージャには便利に使えるようにするために、いくつか便利で重要な特徴があります。 | ||
- | ===== 名前付き引数 | + | ==== 名前付き引数 ==== |
通常のプロシージャ呼び出しは、引数は左から順番に渡されます。名前付き引数を使うことで、プロシージャ定義の引数の順序に依存せず引数を渡すことが出来ます。 | 通常のプロシージャ呼び出しは、引数は左から順番に渡されます。名前付き引数を使うことで、プロシージャ定義の引数の順序に依存せず引数を渡すことが出来ます。 | ||
- | ===== デフォルト値 | + | ==== デフォルト値 ==== |
プロシージャの定義で、パラメーターにデフォルト値を設定することが出来ます。 | プロシージャの定義で、パラメーターにデフォルト値を設定することが出来ます。 | ||
- | ===== オーバーロード | + | ==== オーバーロード ==== |
パラメーターが異なる、同じ名前のプロシージャを複数定義することが出来ます。 | パラメーターが異なる、同じ名前のプロシージャを複数定義することが出来ます。 | ||
- | ===== 演算子のオーバーロード | + | ==== 演算子のオーバーロード ==== |
'' | '' | ||
- | ===== 前方宣言 | + | ==== 前方宣言 ==== |
プロシージャは、使用されるところでそのプロシージャが見えていなければなりません。プロシージャの本体が見えている必要はなく、そのシグネチャさえ見えていれば良いです。プロシージャを定義せずに宣言だけ行う方法があります。 | プロシージャは、使用されるところでそのプロシージャが見えていなければなりません。プロシージャの本体が見えている必要はなく、そのシグネチャさえ見えていれば良いです。プロシージャを定義せずに宣言だけ行う方法があります。 |
tutorial/nim/procedures.1720720969.txt.gz · 最終更新: 2024/07/12 03:02 by freemikan