ASCII倶楽部

このページの本文へ

Swift Playgroundsで学ぶiOSプログラミング ― 第14回

足りなかったのはひきすうと返り血?

引数を受け取って値を返すファンクション

2016年11月14日 17時00分更新

文● 柴田文彦 編集●吉田ヒロ

  • この記事をはてなブックマークに追加
  • 本文印刷

 前回は、Apple公式のPlaygroundsブック「Learn to Code」の最初に出てくる「コマンド」は、「ファンクション」によって実現されているという話をしました。そして、自分でも簡単なファンクションを作ってみましたが、それはどこか変なファンクションであるという話もしました。今回は、そのどこが変だったのかを明らかにし、まともな普通のファンクションに作り直します。

 前回作ったファンクションには、足りないものが2つありました。そのうちの1つは「引数」(ひきすう)と呼ばれるものです。前述のLearn to Codeにも引数は出てくるのですが、それは第2巻の4番目のチャプター「Parameters」です。根気よくそこまで進んだ人はまだ少ないかもしれません。

 足りないもののもう1つは、「戻り値」(もどりち)と呼ばれるものです。これはファンクションとして基本的で重要なものなのに、Learn to Codeには最後まで出てきません。もし第3巻が発行されれば、そこに出てくるのかもしれません。それまで待てないので、今回取り上げることにしましょう。

引数と戻り値

 プログラミングの経験がない人にとって引数というのは聞き慣れない言葉でしょう。昔から日本語にあった語ではないと思いますが、充てられた字の意味はなんとなくわかります。この場合の「引」は、引っぱるということではなく「配る」「与える」といった意味です。「引き出物」の「引」と言えばわかりやすいでしょう。つまり引数は、ファンクションに与える数のことです。

 一方の戻り値は、読んでそのままの意味で、ファンクションが戻す値です。引数に比べるとベタな名前ですが、英語の「return value」の訳なのです。「返り値」と呼ぶ場合も稀にありますが、戻り値のほうがずっと一般的です。返り値は「返り血」を連想させて物騒だからかもしれません。

 ところでファンクションのことは日本語では「関数」(かんすう)と呼ぶことも多いのです。関数と言えば、学校の数学で習ったsin(サイン)やcos(コサイン)など、三角関数を思い出す人も多いでしょう。y=sin(x)とか、y=cos(x)とかいうアレです。関数は、もちろん三角関数に限りません。一般的な関数を⨍で表すとy = ⨍(x)のようになります。

 この簡単な式でもわかるように、関数と言えば、何かそこに入ってくるものと、そこから出ていくものがあります。そして入ってくるものと出ていくものの関係を表すのが、その関数なのです。上の一般的な関数の形を図式的に書くと、x → ⨍ →yのようになるでしょう。

 プログラミングの関数=ファンクションも基本的にそれと同じです。ファンクションは引数を受け取って、それに対してなんらかの処理を加え、その結果を戻り値として返すのが普通なのです。

一般的なファンクション=関数は、なんらかの値(引数)を受け取って、内部で処理した結果を、そのファンクションの値(戻り値)として返します

カテゴリートップへ

この連載の記事

週間ランキングTOP5

ASCII倶楽部会員によく見られてる記事はコレだ!

ASCII倶楽部の新着記事

会員専用動画の紹介も!