【Groovy】Groovy 脚本调用 ( Groovy 脚本中调用另外一个 Groovy 脚本 | 调用 evaluate 方法执行 Groovy 脚本 | 参数传递 )
文章目錄
- 一、Groovy 腳本中調(diào)用另外一個(gè) Groovy 腳本
- 1、調(diào)用 evaluate 方法執(zhí)行 Groovy 腳本
- 2、參數(shù)傳遞
- 二、完整代碼示例
- 1、調(diào)用者 Groovy 腳本
- 2、被調(diào)用者 Groovy 腳本
- 3、執(zhí)行結(jié)果
一、Groovy 腳本中調(diào)用另外一個(gè) Groovy 腳本
1、調(diào)用 evaluate 方法執(zhí)行 Groovy 腳本
在 【Groovy】Groovy 腳本調(diào)用 ( Groovy 腳本編譯 | Groovy 腳本字節(jié)碼文件分析 ) 博客中 , 已經(jīng)分析了 Groovy 腳本的本質(zhì) , Groovy 腳本繼承了 groovy.lang.Script 類 ;
調(diào)用 groovy.lang.Script 類的 evaluate 方法 , 傳入 Groovy 腳本文件對應(yīng)的 File 對象 , 即可執(zhí)行該 Groovy 腳本 ;
/*** 一個(gè)助手方法,允許使用此腳本綁定作為變量范圍動態(tài)計(jì)算groovy表達(dá)式** @param file 要執(zhí)行的 Groovy 腳本文件 */public Object evaluate(File file) throws CompilationFailedException, IOException {GroovyShell shell = new GroovyShell(getClass().getClassLoader(), binding);return shell.evaluate(file);}代碼示例 : 兩個(gè) Groovy 腳本都在同一個(gè)目錄中 ; 在 Groovy 腳本中調(diào)用如下代碼 , 即可執(zhí)行另外一個(gè) Groovy 腳本 Script.groovy ;
evaluate(new File("Script.groovy"))2、參數(shù)傳遞
在 Groovy 腳本中 , 調(diào)用另外一個(gè) Groovy 腳本 , 如果要傳入?yún)?shù) , 直接定義 綁定作用域 args 參數(shù) ;
args = [] args[0] = "arg0" args[1] = "arg1"這樣在被調(diào)用的 Groovy 腳本中 , 就可以獲取 上述 args 參數(shù) ;
二、完整代碼示例
1、調(diào)用者 Groovy 腳本
// 要傳入的參數(shù) args = [] args[0] = "arg0" args[1] = "arg1"// 調(diào)用 Script.groovy 腳本 evaluate(new File("Script.groovy"))
2、被調(diào)用者 Groovy 腳本
/*下面的 age 和 age2 都是變量定義age 變量的作用域是 本地作用域age2 變量的作用域是 綁定作用域一個(gè)是私有變量 , 一個(gè)是共有變量*/// 打印參數(shù) println argsdef age = "18" age2 = "16"println "$age , $age2"/*定義一個(gè)函數(shù)在下面的函數(shù)中 , 可以使用 綁定作用域變量不能使用 本地作用域變量*/ void printAge() {println "$age2"//println "$age" }printAge()
3、執(zhí)行結(jié)果
上面的兩個(gè) Groovy 腳本都在相同目錄 ;
[arg0, arg1] 18 , 16 16總結(jié)
以上是生活随笔為你收集整理的【Groovy】Groovy 脚本调用 ( Groovy 脚本中调用另外一个 Groovy 脚本 | 调用 evaluate 方法执行 Groovy 脚本 | 参数传递 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Groovy】Groovy 脚本调用
- 下一篇: 【Groovy】Groovy 脚本调用