HYPER MIKAN BOX
検索
最近の変更
メディアマネージャー
サイトマップ
文書の表示
以前のリビジョン
バックリンク
ログイン
トレース:
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== プロシージャ ====== プロシージャは他の多くの言語で言うところの関数です。プロシージャは''proc''を使って新しく定義できます。 <codeprism lang=nim> proc add(a, b: int): int = a + b echo add(1, 2) #=> 3 </codeprism> ''proc''は値を返すことが出来るので、まるで関数のようです。Nimには''func''というキーワードもあります。これは関数型プログラミングの純粋関数により近いものです。また、''method''というキワードもあります。現段階では''func''と''method''は忘れていおいて''proc''に注力します ====== 戻り値 ====== 先のaddの例では、最後の式である''a + b''が戻り値になりました。プロシージャの戻り値がどのように決定されるかは、次のルールに従います。 * ''result''という名前の変数が使用されていた場合、その値が戻り値となる * return文がある場合、それに続く式の値が戻り値になる * 式を伴わないreturn文がある場合、''return result''と同じ意味になる * ''result''もreturn文もない場合、プロシージャの最後の式が戻り値となる 先のaddの例では、最後のルールが適用さました。他のルールを適用することも出来ます。 ''result''という名前の変数が使用されていた場合、その値が戻り値となる: <codeprism lang=nim> proc add(a, b: int): int = result = a + b </codeprism> return文がある場合、それに続く式の値が戻り値になる: <codeprism lang=nim> proc add(a, b: int): int = return a + b </codeprism> 式を伴わないreturn文がある場合、''return result''と同じ意味になる: <codeprism lang=nim> proc add(a, b: int): int = result = a + b return </codeprism> このプロシージャを''add(1, 2)''と呼び出した場合、いずれも最初の例と同じである''3''が戻り値になります。 ====== パラメーター ====== パラメーター (parameters)とはプロシージャの引数を指します。プロシージャの呼び出し時に渡される値はアーギュメント (arguments)と読んで区別することが出来ます。最近では必要なときにのみ、このようにparametersとargumentsを使い分けることが多いです。日本語の古い資料だと仮引数と実引数と分けているものもあります。((個人的な意見を言うと、どっちが仮でどっちか実か覚えておかなければならず、脳みそに無駄な負担かけるので、この名称は好ましくないと思っています。))をどちらを指しているかは文脈から明らかなことが多いので、最近は単に引数とだけ呼ばれるのが普通です。
文書の先頭へ