从变量动态调用方法
Dynamically call methods from a variable
我在我的项目中使用这个 SDK:Pollexor
我想创建一个 generic/main 方法来接受来自其他方法的任何请求。
static String thumborGetURL(String alias, String imageUrl) {
thumborUrlBuilder( alias, imageUrl )
.crop( 299, 296, 301, 297 )
.resize( 300, 300 )
.toUrl()
}
private static ThumborUrlBuilder thumborUrlBuilder(String alias, String imageUrl) {
Thumbor thumbor = Thumbor.create( 'http://localhost:8000', 'MY-SECURITY-KEY' )
thumbor.buildImage( imageUrl )
}
static String thumborCrop(String alias, String imageUrl) {
thumborGetURL( alias, imageUrl )
}
如何使 SDK 中的 .crop、.resize、.toUrl 和其他方法及其参数从 Map
类型的一个变量动态调用,例如?这可能吗?
如果您有方法的名称及其参数,您可以尝试以下操作:
def method(String a, String b) {
println "a: $a, b: $b"
}
def args = ['c', 'd']
def name = 'method'
"$name"(*args)
如果列表的参数长度无效,将抛出异常。
我在我的项目中使用这个 SDK:Pollexor
我想创建一个 generic/main 方法来接受来自其他方法的任何请求。
static String thumborGetURL(String alias, String imageUrl) {
thumborUrlBuilder( alias, imageUrl )
.crop( 299, 296, 301, 297 )
.resize( 300, 300 )
.toUrl()
}
private static ThumborUrlBuilder thumborUrlBuilder(String alias, String imageUrl) {
Thumbor thumbor = Thumbor.create( 'http://localhost:8000', 'MY-SECURITY-KEY' )
thumbor.buildImage( imageUrl )
}
static String thumborCrop(String alias, String imageUrl) {
thumborGetURL( alias, imageUrl )
}
如何使 SDK 中的 .crop、.resize、.toUrl 和其他方法及其参数从 Map
类型的一个变量动态调用,例如?这可能吗?
如果您有方法的名称及其参数,您可以尝试以下操作:
def method(String a, String b) {
println "a: $a, b: $b"
}
def args = ['c', 'd']
def name = 'method'
"$name"(*args)
如果列表的参数长度无效,将抛出异常。