\r\n\r\n

プログラミングにおける関数とは?

自分でコードを書く方法を学んでいる人は、関数が何であるかを知っておく必要があります...

プログラムの別の部分で再利用するために、コードをコピー&ペーストすることがよくありますね?

そのような場合は、関数の使用を検討するとよいでしょう。関数は、プログラミング言語において非常に強力な機能です。これらは、コードをより効率的に、より読みやすく、よりエレガントにすることができます。

関数は何ですか?

関数とは、あるタスクを実行するコードのブロックのことです。何度でも呼び出して再利用することができます。関数に情報を渡すと、関数は情報を送り返すことができます。多くのプログラミング言語には、そのライブラリからアクセスできる組み込み関数がありますが、自分で関数を作成することも可能です。

関数が呼び出されると、現在のプログラムを一時停止して、関数を実行します。関数は上から下へ読み込まれます。関数が完了すると、プログラムは一時停止した位置で実行を継続します。関数が値を返した場合、その値は関数が呼び出された位置で使用されます。

関数はどのように書けばよいのですか?

関数の書き方にはいろいろなものがあります。正確な構文は、使用している言語によって異なります。Python、JavaScript、C++を使った例題で、様々なプログラミング構文を実演します。

関連:プログラミング言語が関数なしには成り立たない理由

ダミー機能

最初に見る関数の種類は、NULL関数です。Void関数は、一連の命令を完了させるために使用されます。これらの例では、HellofnContationという関数を書き、"HelloWorld "を出力するように意図しています。

ヒント:関数の名前をあげて、何をするのか説明する。プログラムが複雑になればなるほど、関数を管理し、コードを読むことが容易になる。

パイソン

def helloFunction(): print("Hello World")helloFunction()

Pythonでは、defというキーワードを使って関数を定義したり、作成したりします。次に、関数の名前です。関数内の指示は、次の行のコロンの直後に続きます。Pythonではスペースが重要なので、関数を実行させたいコードをすべてインデントするようにしてください。上の例では、この関数は1行のコードを実行します。

鋭い観察眼をお持ちの方は、print()も関数であることにお気づきかもしれませんが、この関数とは呼び方が違うのです。今はこの考えで我慢してください。関数と引数については後で調べます。

ジャバスクリプト言語

function helloFunction(){ alert("Hello World!");}helloFunction();

JavaScriptでは、関数を作成するためにfunctionというキーワードが使われます。次に、関数の名前です。括弧の間にあるコードは、その関数が呼ばれたときに実行されます。

JavaScriptではスペースは重要ではありませんが、関数内のコードをインデントするのが一般的です。インデントすることでコードが読みやすくなり、プログラムが複雑になったときに重要です。

注:前の例のprint()と非常によく似ていますが、alert()も関数です。

シー・レベル・プラスプラス

#include <iostream>using namespace std;void helloFunction(){ cout << "Hello World!";}int main(){ helloFunction(); return 0;}

C++では、関数の作成方法が異なります。最初の単語は、関数を定義するキーワードではなく、関数が返すデータの種類を記述するものです。この場合、我々の関数はデータを返さないので、データは無効です。次に、関数の名前です。JavaScriptと同様に、括弧の間のすべてのコードは、関数が呼び出されたときに実行されます。また、JavaScriptと同様に、スペースは機能に影響を与えませんが、良い習慣です。

C++のコードに別の関数があったのでしょうか?そう、main()は関数なのです。C++のプログラムを実行すると、自動的にmain関数が呼び出されます。main関数が正常に終了すると、プログラム終了時に0を返し、プログラム実行時にエラーがなかったことを示します。

値を必要とする関数

Void関数は、同じようなコードを何度も書いているような場合に便利な機能です。しかし、それらは制限されることがあります。静的なもので、変化しない。いつも同じ指示で完成させる。その有用性を高める方法の一つが、関数に異なる値を渡すことである。

すべての関数の名前の後に括弧が付いていることにお気づきでしょう。括弧の中で、関数を実行するためにデータが必要であることを宣言することができます。そして、関数に渡されたデータを関数内で使用することができます。先ほどの例をもう一度見てみましょう。今度は出力したいフレーズを渡します。

パイソン

def helloFunction(newPhrase): print(newPhrase)helloFunction("Our new phrase")

さて、大括弧の間ですが、この関数は実行するために変数が必要であることを宣言しています。変数にnewPhraseという名前を付けて、関数内で使用できるようにしました。関数を呼び出すときには、要求された情報を括弧の中に入れて渡す必要がある。JavaScriptでも同じような変更がなされている。

ジャバスクリプト言語

function helloFunction(newPhrase){ alert(newPhrase);}helloFunction("Our new phrase");

シー・レベル・プラスプラス

#include <iostream>using namespace std;void helloFunction(string newPhrase){ cout << newPhrase;}int main(){ helloFunction("Our new Phrase"); return 0;}

私たちのC++の関数は、より多くの情報を必要としています。あなたの関数が文字列データを必要とすることは知っていますが、それはC++では十分ではありません。関数を作成する際には、その関数が必要とするデータの種類を指定する必要があります。正しいタイプのデータを送信しないと、関数が正しく作成されません。

これは少し厄介に思えるかもしれませんが、厳格な言語はしばしばあなたの頭痛の種を減らすことができます。JavaScriptで整数を必要とする関数を書いたとき、その数値が文字列として送られると、追跡が困難なバグが発生することがあります。

関連:知っておきたい5つの関数型プログラミング言語

値を返す関数

最後に紹介するのは、データの返却機能です。特に、使用する前にデータを変更したい場合に有効です。インラインでも書けますが、インペリアルからメトリックへの変換など、同じ計算を何度も使う場合は関数として書いた方が理にかなっている場合があります。この例では、もっとシンプルに説明します。この関数は2つの整数を受け取り、その和を返します。

パイソン

def addingFunction(a, b): return a + bprint(addingFunction(2, 4))

この例では、関数に必要な変数が1つではなく2つになっています。このことを示すために、変数名をカンマで区切っています。キーワード return は、次のデータ、この場合は 2 + 4 または 6 を返すように関数に指示します。 print() 関数の中でこの関数を呼び出します。

この行に到達すると、プログラムは一旦停止して関数を実行し、addingFunction(2, 4)が実際に値6を返したかのように続行します。

ジャバスクリプト言語

JavaScriptのコードはPythonのコードと非常によく似ています。主な違いは、関数がアラートで呼び出されることです。

function addingFunction(a, b){ return a + b;}alert(addingFunction(2, 4));

シー・レベル・プラスプラス

#include <iostream>using namespace std;int addingFunction(int a, int b){ return a + b;}int main(){ cout << addingFunction(2, 4) ; return 0;}

C++のコードも同様に実行されますが、通常はより多くの情報が必要となります。まず、関数が返すデータの種類を明記する必要があります。voidがintに変わっているのがわかると思います。 これは、この関数がデータを全く返さないのではなく、整数を返すことを意味しています。それ以外は、すでに見てきたコードと同様です。

機能の管理

関数の面白いところは、他の関数を呼び出すことができることです。自分たちで呼ぶこともできるのですしかし、力を持てば持つほど、責任も重くなります。他の関数を呼び出すような関数でコードを作成するような、おかしなことはしないでください。

前述したように、関数が呼び出されるたびに、その関数が実行されている間、プログラムが中断される。これは、プログラムがアクティブメモリに保持されることを意味します。もし、複数の関数を完了させずに呼び出すと、より多くのアクティブメモリーを使用することになります。気をつけないと、プログラムが暴走してしまうこともあります。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ