【月間10万PV達成】ブログの作り方を無料公開中!

関数の「戻り値(返り値)」とは?C言語とRubyを比較【return】

関数の戻り値とは

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

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

戻り値を一言で説明すると、「関数が返す値」です。そのままですね。

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

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

そこで今回は、言語による違いを比較しながら理解できるよう、「C言語」と「Ruby言語」を例に紹介していきます。

関数の理解に不安な方は、さきにこちらの記事を読むと理解しやすいと思います。

関数とはプログラミングの関数(function)とは?定義もわかりやすく説明!

言語によって、戻り値や関数の書き方に違いがあるよ!

関数の戻り値(返り値)とは

関数の仕組み

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

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

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

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

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

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

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

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

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

C言語の関数の戻り値(return)

まずは、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言語は忘れてもいいです。

「型」についてもっと知りたい方だけ、こちらの記事をどうぞ!

変数とはプログラミングの変数とは?意味や型など初心者にもわかりやすく解説

C言語は初心者向けじゃないけど、基本言語だから紹介したよ!

Rubyの関数の戻り値(return)

では、さきほどの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」を省略すると、戻り値のない関数という扱いになりますので注意。

Rubyでは、だいたいの関数は最後に戻り値を返すんだから「省略しちゃおう!」って考えだよ!
初心者はRuby【プログラミング初心者】最初の言語はRubyがおすすめ!【未経験者】

戻り値と引数の違いは?

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

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

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

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

簡単にいうと「入れたお金によって出てくるジュースが変わる」ってことだね!
関数の引数とは関数における引数とは?戻り値との違いや配列の渡し方を覚えよう!

まとめ

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

今回は、「C」と「Ruby」で関数の戻り値を比較してみました。

プログラミング言語の違いを知るキッカケにもなったかと思います。

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

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

どのプログラミング言語を学ぼうか迷っている方は、こちらの記事も読んでみてくださいね。

初心者はRuby【プログラミング初心者】最初の言語はRubyがおすすめ!【未経験者】

それでは、よいプログラミングライフを!

またね、キツネ(@kitaaaa_kitsune)でした!

【プログラミング入門】初心者向けおすすめ学習ステップ【プログラミング入門】おすすめの基礎知識やプログラムの基本
テキストのコピーはできません。