回答編集履歴
1
returnの意味について追記
test
CHANGED
@@ -43,3 +43,31 @@
|
|
43
43
|
…でも引数の値は何も変化していないはずなので「終了」が不可能。
|
44
44
|
|
45
45
|
そりゃあ、無限ループに陥りますって…
|
46
|
+
|
47
|
+
—-
|
48
|
+
|
49
|
+
[追記0]
|
50
|
+
|
51
|
+
まずは基礎からやりましょう。
|
52
|
+
基礎を蔑ろにする人は上達しませんし、理解もできないはずです。
|
53
|
+
|
54
|
+
returnの役割は「**戻り値を返すこと**」です。
|
55
|
+
|
56
|
+
そもそも関数っていうのは、「ある処理をしてもらい、その結果を受け取る」ためのものです。数学の関数 f(x) = x + 1 とかみたいなものと一緒です。
|
57
|
+
ブラックボックス化されたf(x)に、値 2 とかを入れると x + 1 とかの計算がされてその結果の3とかが返ってくるかんじです。
|
58
|
+
|
59
|
+
入門書とかだと関数内でprintされていることが多いので意味がなさそうですが、
|
60
|
+
たとえば数学で言えば二次関数の解を求める公式とかみたいにめんどくさそうな計算式があって、それを毎回使う場合、それを手打ちでやるの面倒ですよね。
|
61
|
+
そこで「二次関数の解を求める関数」を作っておけばそれに引数を渡せば勝手に計算してくれてその結果を渡してくれる。
|
62
|
+
|
63
|
+
それ以外にも複雑な処理をひとまとめにして関数としていれば、
|
64
|
+
その関数を呼び出すだけで済む。
|
65
|
+
本来なら一回の処理に十何行という行数のコードを書かないといけないものをたった一行程度で済む…みたいにできる。
|
66
|
+
|
67
|
+
その処理結果を呼び出し元に渡したいですよね。その呼び出し元に返す(つもりの)データを「戻り値」といいます。
|
68
|
+
その戻り値を呼び出し元に渡す処理(戻り値を返すともいう)をするためにreturnをつかって行う。
|
69
|
+
|
70
|
+
たとえば``return 1``とすれば「戻り値として1を呼び出し元に渡す」という感じに。
|
71
|
+
|
72
|
+
つまり、質問にある``return f1(a,b)``とかは、「関数f1にa,bを渡してその結果を(受け取り)、この関数を呼び出したところに渡す」的な感じですかね。
|
73
|
+
|