関数を勉強していると必ず出てくるのが、「引数(ひきすう)」です。
この引数とは、簡単にいうと「関数に渡す値」のこと。
ですが、なぜ関数に引数を渡す必要があるのでしょうか?
それは、関数に引数を渡すことで、より便利に関数を使うことができるからです。
これは実際に見てもらったほうが早いので、具体的にどのような使い方をするのか詳しく見ていきましょう!
また、関数を理解するうえで必要となる「戻り値(もどりち)」との違いも、あわせて紹介します。
関数の理解でモヤモヤしている方は、さきにこちらの記事を読むとスムーズに理解できます!

もくじ
関数における引数(ひきすう)とは
引数(ひきすう)とは、関数に渡す「変数」や「値」のことを指します。
関数を「自動販売機」に例えるとしたら、引数は「お金」に例えることができます。
- 自動販売機にお金を入れる
- 自動販売機はお金を受け取る
- 金額に見合ったジュースが買える
これを関数の仕組みであらわすと、以下のようになります。
- 関数に引数を渡す
- 関数は引数を受け取る
- 引数ごとに結果を出力する
引数には必ず「渡す側」と「受け取る側」が存在します。
この渡す側の引数を「実引数」、受け取る側の引数を「仮引数」と呼びます。
実引数と仮引数
引数には、大きく分けて2種類あります。
- 「関数を呼び出す際に渡す引数」のことを「実引数」
- 「関数を定義する際に受け取る引数」のことを「仮引数」
ただ、実際の現場ではどちらも単に「引数」と呼ばれることのほうが圧倒的に多いです。
たとえば、「引数(実引数)を渡して」とか「引数(仮引数)を受け取って」とかですね。
頻繁には使わない用語ですが、名前だけは知っておいたほうがいいので、覚えておいてくださいね。
では、引数についての理解を深めるために、具体的なコードを見ていくことにしましょう!
ここからは、プログラミング言語「Ruby」の関数を例に見ていきます。

引数の使い方
まずは、以下のコードを見てみましょう。
# 「price」が仮引数
def calculation(price)
total_price = price * 1.08
return total_price
end
# 「100」が実引数
calculation(100)
value = 200
# 「value」が実引数
calculation(value)
上のコードでやっていることを、簡単にまとめます。
- 引数(仮引数)「price」に、税率「1.08」を乗算した結果を出力する関数「calculation」を定義
- 関数「calculation」の引数(実引数)に、「100」を指定して呼び出す
- 関数「calculation」の引数(実引数)に、「value」を指定して呼び出す
「calculation」関数は、受け取った引数(仮引数)に税率「1.08」を乗算した「税込価格」を出力する関数です。
1回目は、関数「calculation」を呼び出す際に「100」という引数(実引数)を渡して実行しています。
2回目は、変数「value」に「200」という値を代入し、「calculation」の引数に「value」を渡して実行しています。
それぞれの実行結果は、「108」と「216」になります。
そして、これらのコードからもわかるように、引数は「値」でも「変数」でも構いません。
引数に配列を渡す
関数に渡せる引数の数は、1つとは限りません。
もっと具体的にいうと
「関数呼び出し時の実引数の数」=「定義されている関数の仮引数の数」
になります。
実際にどのように引数を受け渡すのか、具体例を見てみましょう。
# 「price_1」が第一引数、「price_2」が第二引数
def calculation(price_1, price_2)
total_price = price_1 * price_2 * 1.08
return total_price
end
# 「100」が第一引数、「200」が第二引数
total_price = calculation(100, 200)
このように「第一引数, 第二引数…」と、引数を「,(カンマ)」区切りで続けて書くことで、引数の数をどんどん増やしていくことができます。
ですが、引数の数が増え続ければコードを書くのが大変ですし、何より長くなってしまい、とても見づらいですよね。
実は複数の値を渡す方法として、「配列で引数を渡す」という方法があります。
さきほどの例をもとに、配列を使って書き換えたものがこちらです。
# 「prices」が配列の引数
def calculation(prices)
total_price = prices[0] * prices[1] * 1.08
return total_price
end
# 「100」が第一引数「200」が第二引数
total_price = calculation([100, 200])
引数が1つだとしても、配列を渡せば、複数の値を関数の中で使うことができます。
「引数を増やす方法」と「配列を引数にする方法」がありますが、どちらが正しいとかではなく、場合によって使い分けることが大切です。
引数の初期値
関数の引数には、「初期値」を設定できます。
初期値とは、実引数を指定せずに関数を呼び出した場合、仮引数にデフォルトで代入される値のことです。
文章で説明すると難しく感じてしまうので、これはコードを見てもらったほうが早いかもしれません。
# 「price」の初期値を「100」に設定
def calculation(price = 100)
total_price = price * 1.08
return total_price
end
# 引数がない場合
calculation()
# 引数に「200」を設定した場合
calculation(200)
引数を指定せずに関数を呼び出せば、「100」が「price」に代入され、結果として「108」が出力されます。
引数に「200」を指定して関数を呼び出せば、「200」が「price」に代入され、結果として「216」が出力されます。
引数を使うメリットは「再利用」
これまでのプログラムを読んできて、「引数のメリット」について気付いた方もいるのではないでしょうか。
ここでもう一度、最初に紹介したコードを見てみましょう。
def calculation(price)
total_price = price * 1.08
return total_price
end
calculation(100)
value = 200
calculation(value)
これを見ただけでは、引数のメリットがちょっとわかりづらいと思うので、引数のない関数も確認してみましょう。
# 引数がなくても関数は定義できる
def calculation()
total_price = 100 * 1.08
return total_price
end
# 引数がなくても関数を呼び出せる
calculation()
このように、引数なしでも関数を定義したり、呼び出したりすることが可能です。
ですが、この関数では「100」という値を変えることができないため、「200」で計算したい場合は、もう1つ関数を作らなければなりません。
このように計算したい値が増えてくると、同じ処理をしたいだけなのに、似たような関数をたくさん作る必要が出てきてしまい、とっても非効率です。
ですが、最初に紹介した引数のある「calculation」関数のように、好きな引数を渡せる関数を1つ定義しておくだけで、渡された引数ごとの計算結果を簡単に出力できます。
つまり、引数の値を「100」「200」と変えるだけで、「108」「216」と税込価格を出力できるのです。
引数のメリットとは、「関数を使いまわせる(再利用できる)ようにする」ということなんですね。
引数と戻り値(返り値)の違いは?
さいごに、「引数」と似ていて紛らわしい「戻り値(もどりち)」についても確認しておきましょう。
関数を「自動販売機」に例えると、引数は「お金」でしたね。
では「戻り値」はというと、自動販売機から出てくる「ジュース」 みたいなものです。
プログラミング用語でしっかり説明すると、「戻り値」とは「関数が出力する値」のことなのです。
ちなみに、「返り値(かえりち)」という用語もよく出てきますが、これは「戻り値」とまったく同じ意味になります。

まとめ
- 引数(ひきすう)とは、関数に渡す「値」や「変数」のこと
- 引数には、「実引数」と「仮引数」の2種類がある
- 「関数を呼び出す際に渡す引数」のことを「実引数」という
- 「関数を定義する際に受け取る引数」のことを「仮引数」という
- 複数の引数を関数に渡すことができる
- 引数を配列にすることで、複数の値を渡すことができる
- 引数には初期値を設定できる
- 引数のない関数もある
- 引数は「関数を使いまわすために必要」な存在
- 戻り値とは、関数が出力する「値」のこと
まとめてみると思ったよりたくさん出てきましたが、すべて覚えようとする必要はありません。
プログラミングしていくなかで、自然と引数を使えるようになっていくので、いまはなんとなく理解できれば大丈夫。
この調子で頑張って、エンジニアを目指してください!
またね、キツネ(@kitaaaa_kitsune)でした!
