Данный отчёт сгенерирован 10.02.2023 18:21:31 UTC.
HTML версия (этот сайт) сгенерирован 10.02.2023 18:21:38 UTC.
Коммит: [bfeb65b9] add automatic zip creation 10.02.2023 18:21:31
HTML версия (этот сайт) сгенерирован 10.02.2023 18:21:38 UTC.
Коммит: [bfeb65b9] add automatic zip creation 10.02.2023 18:21:31
Задача: Часткове застосування 2
10.02.2023 18:21:31
Описание: Визначте функцію part(), яка отримує довільну функцію f та значення її n перших аргументів.
partial повертає нову функцію, відмінну від вхідної функції тим, що її n перших аргументів зафіксовано.
Наприклад,
let g = part(Math.max, 5, 6);
console.log(g(3)); // 6
console.log(g(8)); // 8
10.02.2023 18:21:31
Решений: 23
10.02.2023 18:21:31
Часткове застосування 2
10.02.2023 18:21:31
function part(f, ...a) {
function fx(b) {
return f(...a, b);
}
return fx;
}
function part(f, a, b) {
return c => f(a, b, c);
}
function part(f, ...n){
return function(x){
return f(...n,x)
}
}
function part(f, ...ns) {
return function wrapper(arg){
return f(...ns,arg)
}
}
function part(fn, ...fixedArgs) {
return function(...args) {
return fn(...fixedArgs, ...args);
}
}
function part(f, ...fixedArgs) {
return function(...args) {
return f(...fixedArgs, ...args);
}
}
function part(f, ...baseArgs) {
return additionalArgs => f(...baseArgs, additionalArgs);
}
function part(func, ...fixedArgs) {
return function(...otherArgs) {
return func(...fixedArgs, ...otherArgs);
}
}
function part(f, a, b) {
return c => f(a, b, c);
}
function part(x, y, z)
{
return function p(m)
{
return x(y, z, m)
}
}
function part(f, b, c){
return a => f(b, c, a);
}
function part(f, ...args) {
return function(...innerArgs) {
return f(...args, ...innerArgs);
}
}
function part (f, x, y) {
return g => f (x, y, g);
}
function part(func, ...args){
function f(arg){
return func(...args, arg)
}
return f
}
function part(f, ...baseArgs) {
return additionalArgs => f(...baseArgs, additionalArgs);
}
function part(f, ...theArgs)
{
function next(O)
{
return f(...theArgs,O);
}
return next;
}
function part(fun,...firstArgs){
return function(...secondArgs){
return fun(...firstArgs,...secondArgs)
}
}
let nums;
function part(f, ...ns) {
function g(n) {
let tmp = nums;
tmp.push(n);
return f(...tmp);
}
nums = ns;
return g;
}
function part(f) {
let args = [...arguments];
args.splice(0, 1);
let h = function () {
const org = f.apply(f, [...args, ...arguments]);
return org;
};
return h;
}
function part(f, a, b) {
return c => f(a, b, c);
}
function part(fun,...firstArgs){
return function(...secondArgs){
return fun(...firstArgs,...secondArgs)
}
}
function part() {
let arr = [];
for (let val of arguments) arr.push (val);
let f = arr.shift();
return function () {return f (...arr, ...arguments);}
}
function part(f, a, c) {
function g(b) {
return f(a, b, c);
}
return g;
}
function fx(b) {
return f(...a, b);
}
return fx;
}
return c => f(a, b, c);
}
return function(x){
return f(...n,x)
}
}
return function wrapper(arg){
return f(...ns,arg)
}
}
return function(...args) {
return fn(...fixedArgs, ...args);
}
}
return function(...args) {
return f(...fixedArgs, ...args);
}
}
return additionalArgs => f(...baseArgs, additionalArgs);
}
return function(...otherArgs) {
return func(...fixedArgs, ...otherArgs);
}
}
return c => f(a, b, c);
}
{
return function p(m)
{
return x(y, z, m)
}
}
return a => f(b, c, a);
}
return function(...innerArgs) {
return f(...args, ...innerArgs);
}
}
return g => f (x, y, g);
}
function f(arg){
return func(...args, arg)
}
return f
}
return additionalArgs => f(...baseArgs, additionalArgs);
}
{
function next(O)
{
return f(...theArgs,O);
}
return next;
}
return function(...secondArgs){
return fun(...firstArgs,...secondArgs)
}
}
function part(f, ...ns) {
function g(n) {
let tmp = nums;
tmp.push(n);
return f(...tmp);
}
nums = ns;
return g;
}
let args = [...arguments];
args.splice(0, 1);
let h = function () {
const org = f.apply(f, [...args, ...arguments]);
return org;
};
return h;
}
return c => f(a, b, c);
}
return function(...secondArgs){
return fun(...firstArgs,...secondArgs)
}
}
let arr = [];
for (let val of arguments) arr.push (val);
let f = arr.shift();
return function () {return f (...arr, ...arguments);}
}
function g(b) {
return f(a, b, c);
}
return g;
}