-1
私はこれをJS Lintを通して0エラーで実行しましたが、私のChromeコンソールでスクリプトを実行すると、fil()は機能ではないことがわかります。このパターンのクロージャはfilter()関数で追加するまで機能していますが、何がブレークの原因かわかりません。機能がありません。Chromeコンソールエラー
以下のコードでは、index()の呼び出しは必要なように機能しますが、fil()を呼び出すとエラーが返されます。
"use strict";
function from(start) {
return function() {
var tempstart = start;
start += 1;
return tempstart;
};
}
function to(gen, limit) {
return function() {
var localnum = gen();
if (localnum < limit) {
return localnum;
}
return undefined;
};
}
function fromTo(start, end) {
return to(from(start), end);
}
var index = fromTo(0, 3);
index();
function filter(gen, predicate) {
var value;
do {
value = gen();
} while (
value !== undefined && !predicate(value)
);
return value;
}
var fil = filter(fromTo(0, 5), function third(value) {
return (value % 3) === 0;
});
fil();
'filter'は関数ではなく値を返します。 –