return (i) => pow(i,n);powというのは、dart:mathというライブラリに入っている関数です。Dartでは、自分で作る関数だけでなく、標準で多くの関数が入っています。こうした標準のライブラリに組み込まれている機能を使う場合は、
import 'ライブラリの指定' ;このようにして、使いたいライブラリをインポートします。ここでは、dart:mathというライブラリをインポートしていたわけです。
var f2 = multi(2);これで、変数f2には何が入るでしょうか。それは、multi関数で返されたラムダ式による関数です。multi関数の定義をよく見て下さい。戻り値の指定に「Function」というものが指定されていますね? このFunctionとは、「関数」の型なのです。multi(2) では、こういうラムダ式がreturnで返されます。
(i) => pow(i,2);引数iの値を2乗するラムダ式が返されていることがわかります。これが、f2に入っているのです。そしてこのf2を利用してる文、
var n = 2;ここでは、f2(2)が呼び出され、pow(2, 2) の値が返されるようになっていた、というわけです。ちょっとややこしいですが、この流れをよく頭に入れて下さい。
print(f2(n));
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
import 'dart:math'; void main() { var f2 = multi(2); var f3 = multi(3); var f4 = multi(4); var n = 2; print(f2(n)); print(f3(n)); print(f4(n)); } Function multi(n) { return (i) => pow(i,n); }
<< 前へ |