関数リテラルとクロージャ (1/4)
作成:2014-10-25 09:20
更新:2014-10-25 09:20
更新:2014-10-25 09:20
■関数は「値」だ!
Swiftの関数には非常に重要な性質があります。それは、「値として扱える」というものです。関数は処理をまとめたものですが、この関数そのものもSwiftでは「値」なのです。
実際に簡単な例を実行してみましょう。下のサンプルでは、calcという関数を定義しています。そしてこのcalcを変数f1に代入し、それからこの変数f1に引数を付けて呼び出しています。
これで、ちゃんとcalcの処理が実行され結果が得られます。つまり、変数f1にはcalc関数が代入されており、ちゃんと動くのです。
この「関数は値である」という特徴のおかげで、Swiftではさまざまな形で関数を扱えるようになったのです。まずは、この「関数は、値だ」という点をしっかり頭にいれてください。
実際に簡単な例を実行してみましょう。下のサンプルでは、calcという関数を定義しています。そしてこのcalcを変数f1に代入し、それからこの変数f1に引数を付けて呼び出しています。
これで、ちゃんとcalcの処理が実行され結果が得られます。つまり、変数f1にはcalc関数が代入されており、ちゃんと動くのです。
この「関数は値である」という特徴のおかげで、Swiftではさまざまな形で関数を扱えるようになったのです。まずは、この「関数は、値だ」という点をしっかり頭にいれてください。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
func calc(num:Int)->Int { var res = 0 for n in 0...num { res += n } return res } var f1 = calc println(f1(10))
※関連コンテンツ