【リニューアル記念】未経験からブロガーへのSTEPを続々更新!

関数の「戻り値」って何?C言語とRubyを比較して理解する!

関数の戻り値とは

関数を学んでいると必ず出てくるのが「戻り値(もどりち)」の存在です。

参考書やサイトによっては「返り値(かえりち)」と書いてあることもありますが、どちらも同じ意味になります。

戻り値を一言で説明すると「関数が返す値」です。

もう少し詳しく説明すると「関数を実行した時に出力される値」のことをいいます。

ただ、1つ注意してほしいのは、戻り値の扱いは覚えるプログラミング言語によっても多少違ってくるということです。

そのため、今回は「C言語」と「Ruby言語」を例に、プログラミング言語による戻り値の違いについても見ていきましょう!

関数の理解に不安な方は「プログラミングの関数とは?わかりやすく簡単に解説!」を先に読むと理解しやすいと思います。

関数の戻り値(もどりち)とは

関数の仕組み

まず、関数の戻り値について確認しておきましょう。

これは関数を「自動販売機」に例えるとわかりやすいです。

自動販売機は、「お金」を入れると「ジュース」が出てきますよね。

関数もこれと同じで、「引数」を渡すと「戻り値」が出力されるのです。

つまり、戻り値とは「関数が実行されたときに返ってくる値」のことをいいます。

「返す」とか「戻る」という表現に違和感を感じる方も多いと思います。

「べつに関数に何か貸したつもりはないんだけど…」と僕は考えてしまいました。

これと似たものに、アプリやサイトを「作る」ことを「開発する」といったりもします。これも別に何かを研究したり発明したりするわけではありませんが、よく使われる用語です。

このように、IT業界では理解しづらい表現がよく使われるので、「そういうもんなのか~」とあまり気にせず納得しちゃったほうがいいかもしれません。

C言語の関数の戻り値

まずは、C言語の関数の例から見てみましょう。

Cの関数(戻り値あり)
int calculation(int price) {
  int total_price = price + 10;
  return total_price;
}

calculation(100);

戻り値は、どのプログラミング言語でも「return」のあとに続けて書くのが基本になります。

つまり、戻り値にしたい「値」や「式」の前に「return」という文字を書けば戻り値となるのです。

この関数での戻り値は変数「 total_price」の中の値、つまり「110」という値が戻り値となります。

ここまでは、なんとなく理解できたのではないでしょうか。

ただ、C言語はここから少し難しくなってきます。

まず、C言語では「関数の戻り値の型を最初に記述する」というルールがあります。

さきほどの関数の戻り値は「110」など整数の値になるため「int型(整数型)」となり、関数定義の最初に「int」と書く必要があります。

「何を言っているのか全然わからない!」

そんな方も安心してください。もともとC言語は初心者には少し難しいプログラミング言語なのです。

このあと説明する「Ruby」の戻り値の例を見て理解できればとりあえずOK。最悪、C言語は忘れてもいいです。

「型」についてもっと知りたい方は、「プログラミングの変数とは?初心者にもわかりやすく解説!」で詳しく解説しています!

Rubyの関数の戻り値

では、さきほどのC言語と見比べながらRubyの関数の戻り値を確認しましょう。

Rubyの関数
def calculation(price)
  total_price = price + 10
  return total_price
end

calculation(100)

基本的にはC言語と同じで、戻り値にしたい値や式の前に「return」をつけます。

ただ、1つ違うのはC言語のように「戻り値の型を定義しなくていい」ということです。

その代わり、関数定義の最初に「def」と書く必要があります。これは「define(定義する)」の略です。

文字通り「関数を定義するよ!」と宣言していると思ってもらえればいいです。

そして実は、Rubyで関数を書く場合はもっとシンプルに記述することができます。

Rubyの関数
def calculation(price)
  price + 10
end

calculation(100)

なんと「return」を省略できるのです!

Rubyの場合、最後の処理結果が自動で「return」される仕組みになっています。

キツネ

だいたいの関数は最後に戻り値を返すんだから「省略しちゃおう!」って考えだね!

ちなみに、他のプログラミング言語で「return」を省略すると、戻り値のない関数という扱いになりますので注意。

戻り値と引数の違いは?

戻り値と似たものに「引数(ひきすう)」というものがあります。

引数は「関数に渡す値」のことです。

さきほどの自動販売機を例にすると、関数が「自動販売機」で引数が「お金」ですね。

引数を関数に渡すことで、関数の処理結果を変えられるメリットがあります。

キツネ

簡単にいうと「入れたお金によって出てくるジュースが変わるよ!」ってことだね!

もっと詳しく知りたい方は「関数における引数とは?戻り値との違いをしっかり理解しよう!」の記事もどうぞ。

まとめ

  • 戻り値(もどりち)とは、関数が返す「値」のこと
  • 戻り値と返り値(かえりち)は同じ意味
  • 「返す」とか「戻す」って用語はよく使われるけど気にしない
  • 戻り値の扱いはプログラミング言語によって多少違う
  • 戻り値は「return」のあとに書く
  • C言語は「型」を理解しないと難しい
  • Rubyはシンプルに書けて「return」も省略できる
  • 引数とは、関数に渡す「値」のこと

今回は「C」と「Ruby」で関数の戻り値を比較してみました。プログラミング言語の違いを知るキッカケにもなったかと思います。

C言語は古くから使われているプログラミング言語であり、コンピューターの知識も多少必要となってくるため、初心者には少し難しい言語かもしれません。

一方、Rubyは「楽しくプログラミングする」という設計思想のもとに作られたプログラミング言語なので、他の言語に比べて楽しく直感的に書けるのが特徴です。

「これからプログラミングを本格的に学びたい!」と考えているのでしたら、「プログラミング初心者こそRuby言語がおすすめ!楽しむことが重要!」も読んでみてください。

テキストのコピーはできません。