引数(Argument)

引数(Argument)図解 A
PR
PR

引数(Argument)とは、関数やメソッドを呼び出すときに、その処理に渡す値のことです。関数は引数として受け取った値を使って計算や判断を行い、状況に応じた結果を返せるようになります。

現実世界に例えると、引数はファストフード店の注文時に伝える「サイズ」や「トッピング」の指定のようなものです。同じ「ハンバーガーを作る」という処理でも、伝える内容によって出来上がるものが変わります。

引数(Argument)図解

引数(Argument)図解
※画像をクリックすると拡大表示します。

関数に情報を渡す仕組み

引数が存在する理由は、関数を柔軟にするためです。引数を受け取らない関数は、呼び出すたびにまったく同じ処理しかできませんが、引数を受け取れる関数は、渡す値を変えるだけで異なる結果を得られます。同じ「合計を計算する」関数でも、渡す数値が変われば返る合計も変わります。

仮引数と実引数

引数には呼び方が二つあります。関数を定義するときに書く受け取り口を仮引数、関数を呼び出すときに実際に渡す値を実引数と呼びます。仮引数は箱の名前、実引数はその箱に入れる中身、という関係で捉えると分かりやすくなります。

用語 意味
仮引数 関数の定義側で受け取る値の名前
実引数 関数の呼び出し側で実際に渡す値

複数の値を渡す

引数は一つとは限りません。関数を定義するときにカンマで区切って並べておけば、複数の値を一度に渡すことができます。二つの数値を渡して合計を求める関数や、名前と年齢を渡して自己紹介文を作る関数など、複数の情報を組み合わせる処理でよく使われます。

値渡しと参照渡し

引数の渡し方には仕組みの違いがあります。値そのもののコピーを渡す値渡しと、値が置かれている場所の情報を渡す参照渡しがあり、関数の中で引数を書き換えたときの影響範囲が変わってきます。値渡しでは呼び出し元の変数は影響を受けませんが、参照渡しでは元の変数の中身が書き換わることがあります。

デフォルト引数という仕組み

多くの言語には便利な省略機能があります。引数にあらかじめ既定の値を設定しておくデフォルト引数を使うと、呼び出し側でその引数を省略した場合に、既定値が自動的に使われます。よく使う値を毎回書かずに済むため、呼び出し側の記述をすっきりさせられます。

可変長引数という仕組み

渡す個数があらかじめ決まっていない場面もあります。いくつ渡されるか分からない値をまとめて受け取れる可変長引数という書き方が、多くの言語で用意されています。合計を求める関数に、2個の数値を渡すことも5個の数値を渡すこともできるようにしたい場合などに使われます。

キーワード引数という指定方法

引数の渡し方には順序以外の指定方法もあります。引数の名前を指定して値を渡すキーワード引数を使うと、並び順を気にせず、どの引数に何を渡しているかを明示できます。引数の数が多い関数を呼び出すときに、渡し間違いを防ぎやすくなる書き方です。

型と個数の不一致による不具合

引数の扱いを誤ると、実行時に不具合が起きやすくなります。関数が想定している型と違う値を渡したり、必要な個数の引数を渡さなかったりすると、エラーになったり、意図しない結果が返ってきたりします。関数がどのような引数を、いくつ、どんな型で受け取るのかを正しく把握して呼び出すことが欠かせません。

あわせて知っておきたい用語

  • 関数(Function):
    特定の処理をひとまとめにして名前を付けたものです。
  • 戻り値:
    関数が処理を終えたときに返す値のことです。
  • データ型:
    値の種類を分類し、扱い方を決める仕組みです。
  • 変数(Variable):
    値を一時的に記憶しておくための入れ物です。

コメント

タイトルとURLをコピーしました