Dynamic 使用嵌套函数调用Groovy动态方法
我需要用嵌套函数调用计算字符串。使用groovy有没有一种简单的方法来实现这一点 编辑:代码变得更加真实。语境是非学术性的;我的函数需要组合和计算json文件中的一组任意字符串和值 JSON文件1将包含如下字符串: biggerThan(岛屿列表,0) smallerThan(岛屿列表,3) 比格尔坦(岛屿列表,1) JSON文件2的值如下 [4,1] [1,2,1] [1,5,6,2,98] [] def a=大于(isList,1) a([4,1])Dynamic 使用嵌套函数调用Groovy动态方法,dynamic,methods,groovy,scripting,invocation,Dynamic,Methods,Groovy,Scripting,Invocation,我需要用嵌套函数调用计算字符串。使用groovy有没有一种简单的方法来实现这一点 编辑:代码变得更加真实。语境是非学术性的;我的函数需要组合和计算json文件中的一组任意字符串和值 JSON文件1将包含如下字符串: biggerThan(岛屿列表,0) smallerThan(岛屿列表,3) 比格尔坦(岛屿列表,1) JSON文件2的值如下 [4,1] [1,2,1] [1,5,6,2,98] [] def a=大于(isList,1) a([4,1]) //->在groovy控制台中返回tru
//->在groovy控制台中返回true,因为[4,1]是大小大于1的列表除非必须使用反射,否则不要使用反射。就你而言,我认为你不必这么做。请提供一个更大的背景!可以使用
Eval
或解析str
,这取决于这一切可能采取的形式。如果你能提供一个更大的图景,以及所有这些是否只是学术练习,或者如果你必须处理来自远程来源的此类呼叫列表,这会有所帮助。但是你的示例即使不在评估中也不起作用。在groovyConsole
中准备好作为简单Groovy代码使用的示例,然后从Eval
调用它。看看这个:只是澄清了示例和上下文。谢谢大家的意见
def biggerThan= {func, val->
{v->return func(v) && (v.size() > val)}
}
def isList ={n->
return n instanceof List
}