Java 卷曲函数与实例

Java 卷曲函数与实例

函数卷曲是一个概念,它将一个有许多参数的函数分解成许多只有一个参数的函数,使其输出相同。换句话说,它是一种将一个多值参数的函数简化为单值参数的多函数的技术。

考虑一下这个例子,以明确这个概念。

Java中的卷曲函数与实例

咖喱法将高阶函数分解成一系列较小的级联函数,这些函数接收一个参数并返回一个函数,除了最后一个级联函数返回所需的值。

比如说。

设有一个函数,其映射为

Java中的卷曲函数与实例

追踪上述函数将产生

Java中的卷曲函数与实例

因此,Java 卷曲函数与实例Java 卷曲函数与实例映射到一个函数,而这个函数又从Java 卷曲函数与实例映射到Java 卷曲函数与实例

上述数学表达式也可以表示为:

Java中的卷曲函数与实例

因此,Java 卷曲函数与实例

下面是一些Java中的例子来演示函数卷积。

例子1:使用函数卷取法计算两个数字的加法

// Java Program to demonstrate Function Currying
  
import java.util.function.Function;
  
public class GFG {
    public static void main(String args[])
    {
  
        // Using Java 8 Functions
        // to create lambda expressions for functions
        // and with this, applying Function Currying
  
        // Curried Function for Adding u & v
        Function<Integer,
                 Function<Integer, Integer> >
            curryAdder = u -> v -> u + v;
  
        // Calling the curried functions
  
        // Calling Curried Function for Adding u & v
        System.out.println("Add 2, 3 :"
                           + curryAdder
                                 .apply(2)
                                 .apply(3));
  
        }
}

输出:

Add 2, 3 :5

例子2:用函数卷取法计算2个数的乘法

// Java Program to demonstrate Function Currying
  
import java.util.function.Function;
  
public class GFG {
    public static void main(String args[])
    {
  
        // Using Java 8 Functions
        // to create lambda expressions for functions
        // and with this, applying Function Currying
  
        // Curried Function for Multiplying u & v
        Function<Integer,
                 Function<Integer, Integer> >
            curryMulti = u -> v -> u * v;
  
        // Calling the curried functions
         
        // Calling Curried Function for Multiplying u & v
        System.out.println("Multiply 2, 3 :"
                           + curryMulti
                                 .apply(2)
                                 .apply(3));
    }
}

输出:

Multiply 2, 3 :6

例子3:用函数卷曲做3个数的加法

// Java Program to demonstrate Function Currying
  
import java.util.function.Function;
  
public class GFG {
    public static void main(String args[])
    {
  
        // Using Java 8 Functions
        // to create lambda expressions for functions
        // and with this, applying Function Currying
  
        // Curried Function for Adding u, v & w
        Function<Integer,
                 Function<Integer,
                          Function<Integer, Integer> > >
            triadder = u -> w -> v -> u + w + v;
  
        // Calling the curried functions
  
        // Calling Curried Function for Adding u, v & w
        System.out.println("Add 2, 3, 4 :"
                           + triadder
                                 .apply(2)
                                 .apply(3)
                                 .apply(4));
    }
}

输出:

Add 2, 3, 4 :9

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程