1
我在eachLine閉包中逐行處理日誌文件,並且需要記住先前迭代的值。問題是循環內「currentCampaign」變量的範圍明顯不同於循環外部,所以在每次迭代之間都不會記住它。 (基本上,一個行會活動ID,然後我快進的的下一個實例像含「redirectLink」我需要記住的最後CAMPAIGNID是文件)訪問groovy closure之外的變量
def currentCampaign = ""
file.eachLine{ line->
if(line.indexOf("campaignId") != -1){
currentCampaign = extractCampaign(line)
}
if(line.indexOf("redirectlink") != -1){
recordRedirect(currentCampaign, extractRedirectLink(line))
}
}