Як вызначыць карты ў Groovy

Я хачу зрабіць серыю карт, такіх як map1, map1, map3 і г.д ... , і я хачу зрабіць гэта з дапамогай завесы. Гэта не працуе:

for (i = 1; i++){

    def map[ i ]

як я магу зрабіць гэта здарыцца?

3
Чаму гэты пост атрымаць -3 галасы? З-за які адсутнічае пункт?
дададзена аўтар blaughli, крыніца

2 адказы

Вы можаце зрабіць:

def listOfMaps = (1..10).collect { [:] }

Гэта зробіць спіс, які змяшчае 10 карт

Калі гэта не тое, што вы хочаце, вы будзеце мець, каб растлумачыць, што вы спрабуеце зрабіць ;-)

1
дададзена

У завадны карты трэба любую колькасць пар ключ/значэнне. Акрамя таго, ваш для контуру адсутнічае пункт. Паспрабуйце гэта:

maps = []//A list which will store maps.
for (i=0; i<10; i++) {
  maps[i] = [i:i]
}
maps[0]//=> [i:0]
maps[1]//=> [i:1] ...
maps[9]//=> [i:9]
0
дададзена
«Карта» у гэтым выпадку будзе спісам, а не масіў
дададзена аўтар tim_yates, крыніца
Акрамя таго, карты без якіх-небудзь ключоў зусім справядлівыя. Фраза <�я> '.. любы лік пар ключ/значэнне .. </я>, здаецца, мяркуе, вы павінны мець па крайняй меры адзін ... Але гэта можа быць проста мне быць занадта прыдзірлівым ;-)
дададзена аўтар tim_yates, крыніца
@tim_yates: Добра, зафіксавана, што каментар. дзякуй.
дададзена аўтар maerics, крыніца
эй дзякуй, гэта атрымлівае на тое, што я пасля! Але ісці глыбей, скажам, я хачу множным «карты», як «масіў, які будзе захоўваць карты», якія вы вызначылі вышэй ... Як гэта зрабіць?
дададзена аўтар blaughli, крыніца