Gradle任务-无法在groovy中执行斐波那契级数

Gradle任务-无法在groovy中执行斐波那契级数,gradle,groovy,gradle-task,Gradle,Groovy,Gradle Task,面对问题中的问题: 编写一个gradle程序生成10个fibonaci系列,任务名为fibo,变量名为num。使用num的命令行参数。 例如,如果任务名为test,并且我希望通过10作为输入,则使用gradle test-Pnum=10 我创建了一个函数: def fibo(n){ a = 0 b = 1 if (n == 1) println a else if (n == 2) println a + " " + b else

面对问题中的问题:

编写一个gradle程序生成10个fibonaci系列,任务名为fibo,变量名为num。使用num的命令行参数。 例如,如果任务名为test,并且我希望通过10作为输入,则使用gradle test-Pnum=10

我创建了一个函数:

def fibo(n){
    a = 0
    b = 1
    if (n == 1)
    println a
    else if
    (n == 2)
    println a + " " + b
    else if (n > 2) {
        print a + " " + b
        i = 2
        while (i <= n)
        {
        c = a + b
        print " " + c
        a = b
        b = c
        i = i + 1
        }
    }
}
或者如何在gradle任务中传递参数


注意:请不要建议在斐波那契代码中进行优化,目前这不是问题。

您可以定义如下任务:

def hello(name) {
        println "Hello, $name"
}

task sayHello() {
        doLast {
                hello sayHelloTo
        }
}
这样称呼它:

def hello(name) {
        println "Hello, $name"
}

task sayHello() {
        doLast {
                hello sayHelloTo
        }
}
%gradle sayHello-PsayHelloTo=World
>任务:打招呼
你好,世界
在518ms中成功构建
1个可执行任务:1个已执行

def fibo(数字){
if(num<2){
返回1
}否则{
返回fibo(num-2)+fib(num-1)
}
}

task(fibo)“gradle程序”?为什么要使用gradle?问题是这样的:(@SAGARDX7)如果这是一个社会实验,那么你不应该感到惊讶,开发人员奇怪地感到惊讶,为什么Fibinaci系列如此具体。如果这是关于编写任务和调用函数的,那么任何函数都可以和“hello world”足以解决这个问题,你不必为你的fibo函数辩护,也不必为你为什么要把它称为gradle任务辩护。如果它是相关的,那么它会很有帮助,如果你能弄清楚为什么以及这里的实际问题是什么。


def fibo(num)  {
  if (num < 2)  {
    return 1
  } else  {
    return fibo(num-2) + fib(num-1)
  }
}




task (fibo) << {
   println fibo(5)
}