dartノート03
7010 ワード
dartノート03
関数#カンスウ#
bool isNoble(int atomicNumber) {
return _nobleGases[atomicNumber] != null;
}
/// Sets the [bold] and [hidden] flags ...
void enableFlags({bool bold, bool hidden}) {...}
[] :
String say(String from, String msg, [String device]) {
var result = '$from says $msg';
if (device != null) {
result = '$result with a $device';
}
return result;
}
:
assert(say('Bob', 'Howdy') == 'Bob says Howdy');
:
assert(say('Bob', 'Howdy', 'smoke signal') ==
'Bob says Howdy with a smoke signal');
, = 。 。 , null。
:
/// [bold] [hidden] ...
void enableFlags({bool bold = false, bool hidden = false}) {...}
// bold true; hidden false.
enableFlags(bold: true);
Function makeAdder(num addBy) {
return (num i) => addBy + i;
}
void main() {
// 2 。
var add2 = makeAdder(2);
// 4 。
var add4 = makeAdder(4);
assert(add2(3) == 5);
assert(add4(3) == 7);
}
閉パッケージは、関数オブジェクトの呼び出しが元の役割ドメインの外にあっても、その文法役割ドメイン内の変数にアクセスできる関数オブジェクトです.
関数は、その役割ドメイン内に定義された変数を閉じます.次の例では、makeAdder()は変数addByを取得します.戻り関数がいつ実行されるかにかかわらず、関数は取得されたaddBy変数を使用します.