Я столкнулся с чем-то странным, когда делал некоторые данные с помощью тестирования в Groovy. Если это имеет значение, это находится в тесте Spock.Что это за конструкция Groovy, и как работает синтаксис?
Вот так, я думаю, что списки должны работать:
def list = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
println list[0]
производит:
[1, 2, 3]
я случайно сделал что-то вроде этого:
def whut = [[1, 2, 3]
[4, 5, 6]
[7, 8, 9]]
println whut[0]
println whut
который выходы:
[null, null, null]
[[null, null, null]]
ОК, я вижу, что Groovy не понравилось объявление без запятых, но оно компилируется, так что это?
Вот что на самом деле бросает мне об этом синтаксисе:
def inputz = [
[1, 0.631226308, 0.631226308, 0.631226308, 1, 0, 0.240426243]
[1, 0.312284518, 0.312284518, 0.312284518, 1, 1, 1 ]
[3, 0.823506476, 0.31230335, 0.631237191, 1, 1, 0 ]
[4, 0.934875788, 0.486395986, 0.66732053, 3, 2, 0.927654169]
[4, 0.699869773, 0.234328294, 0.424739329, 3, 3, 1 ]
]
println inputz[0]
println inputz
дает следующее:
[0.631226308, 1, 1, 1, 1, 1, 1]
[[0.631226308, 1, 1, 1, 1, 1, 1]]
Я полностью потерял здесь - то, что это Groovy конструкт я создаю, и почему выводит эти, казалось бы, случайные значения из моих списков?
Спасибо, и если вы думаете о более описательном имени для моего вопроса, я его изменю.
Мы использовали этот удивительный вопрос в качестве головоломки во втором сезоне #groovypuzzlers и хотим отправить вам футболку с благодарностью. Как я могу связаться с вами? – JBaruch