我正在研究一段依賴於從Java繼承的'字段'中的值的Groovy腳本。我需要能夠引用這個字段列表(和值)來創建一個可以使用的地圖。我正在用這種「常規」方式掙扎。Groovy收集(?)變量和值來映射
我有什麼訪問(繼承):
dialogPartyASelection_7 = 'Denied'
dialogPartyBSelection_7 = 'Accepted'
dialogPartyASelection_6 = 'Denied'
dialogPartyBSelection_6 = 'Accepted'
dialogPartyBSelection_5 = 'Denied'
dialogPartyASelection_5 = 'Accepted'
dialogPartyBSelection_4 = 'Denied'
dialogPartyASelection_4 = 'Accepted'
dialogPartyBSelection_3 = 'Denied'
dialogPartyASelection_3 = 'Accepted'
dialogPartyBSelection_2 = 'Denied'
dialogPartyASelection_2 = 'Accepted'
dialogPartyBSelection_1 = 'Denied'
dialogPartyASelection_1 = 'Accepted'
我試圖讓:
map = [
'dialogPartyASelection_7' : 'Denied',
'dialogPartyBSelection_7' : 'Accepted',
'dialogPartyASelection_6' : 'Denied',
'dialogPartyBSelection_6' : 'Accepted',
'dialogPartyBSelection_5' : 'Denied',
'dialogPartyASelection_5' : 'Accepted',
'dialogPartyBSelection_4' : 'Denied',
'dialogPartyASelection_4' : 'Accepted',
'dialogPartyBSelection_3' : 'Denied',
'dialogPartyASelection_3' : 'Accepted',
'dialogPartyBSelection_2' : 'Denied',
'dialogPartyASelection_2' : 'Accepted',
'dialogPartyBSelection_1' : 'Denied',
'dialogPartyASelection_1' : 'Accepted' ]
我「設置我自己了」,如下所示(這些列表會在整個腳本被重新使用)
def selectionsPartyA = [], selectionsPartyB = [], selections = [], PostSelections = [], PostChildrenSelections = [],
PostSelections = [
'7',
'6',
'5',
'4',
'3',
'2',
'1'
]
// selectionsPartyA
for (post in PostSelections) {
selectionsPartyA += "dialogPartyASelection_"+post
}
// selectionsPartyB
for (post in PostSelections) {
selectionsPartyB += "dialogPartyBSelection_"+post
}
selections.addAll(selectionsPartyB)
selections.addAll(selectionsPartyA)
我已經嘗試迭代使用引用列表,但無法引用如預期的'領域'或'價值'。
看起來你只是建立屬性名稱的名單,可以獲取價值,而不是:'getProperty(name)' – Steinar
你想創建一個Map(**我試圖得到:**)從一個實例?(實例有dialogParty [A或B] Selection_X?) – koji
我是試圖創建一個包含實例字段名稱和值的映射。 @Steinar謝謝!這有助於 - 如果你有一個'模式'有效地做到這一點,這將真正幫助我學習:) – lolno