curriedclosure.java

来自「大名鼎鼎的java动态脚本语言。已经通过了sun的认证」· Java 代码 · 共 30 行

JAVA
30
字号
package org.codehaus.groovy.runtime;import groovy.lang.Closure; /** * Represents wrapper around a Closure to support currying *  * @author Jochen Theodorou */public class CurriedClosure extends Closure {    private Object[] curriedParams;        public CurriedClosure(Closure uncurriedClosure, Object[] arguments) {        super(uncurriedClosure);        curriedParams = arguments;        maximumNumberOfParameters = uncurriedClosure.getMaximumNumberOfParameters()-arguments.length;    }    public Object[] getUncurriedArguments(Object[] arguments) {        final Object newCurriedParams[] = new Object[curriedParams.length + arguments.length];        System.arraycopy(curriedParams, 0, newCurriedParams, 0, curriedParams.length);        System.arraycopy(arguments, 0, newCurriedParams, curriedParams.length, arguments.length);        return newCurriedParams;            }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?