У меня есть следующий groovy-скрипт:
#!/usr/bin/env groovy
def files = [
'file-1.bat' :
[
'content-1-1',
'content-1-2',
'content-1-3'
],
'file-1' :
[
'content-unix-1-1',
'content-unix-1-2',
'content-unix-1-3',
],
'file-2.bat' :
[
'content-2-1',
'content-2-2',
'content-2-3'
],
'file-2' :
[
'content-unix-2-1',
'content-unix-2-2',
'content-unix-2-3',
],
]
files.each {
file_key, file_value -> println file_key;
file_value.each {
file_content -> println "\t"+file_content;
files[ file_key ] = [file_content : true];
}
}
println ' Upgraded content';
files.each {
file_key, file_value -> println file_key;
file_value.each {
file_content -> println "\t"+file_content;
}
}
Следующие строки вызывают мои проблемы:
files[ file_key ] = [file_content : true];
Что я хочу сделать, так это создать для каждой записи на карте также истинную часть пары ключ: значение... Я знаю, что я не определял список таким образом... Я пытался улучшить map с помощью files[file_key].put(key, value); но это не работает... Может быть, я думаю в совершенно неправильном направлении... Предыстория этой конструкции в том, что в файлах (файл-1.bat, файл-1 и т. д.) я проверю наличие содержимое, указанное как карта
'file-1.bat' : [
'content-1-1',
'content-1-2',
'content-1-3'
],
Я мог бы сделать следующее:
'file-1.bat' : [
'content-1-1' : false,
'content-1-2' : false,
'content-1-3' : false,
],
но это именно то, чего я хочу избежать.