Доступ к свойствам объекта в Groovy с помощью []

Скажем, у меня есть следующий код на Groovy:

class Human {
  Face face
}
class Face {
  int eyes = 2
}
def human = new Human(face:new Face())

Я хочу получить доступ к eyes с использованием []:

def humanProperty = 'face.eyes'
def value = human[humanProperty]

Но это не работает так, как я ожидал (так как это пытается получить доступ к свойству с именем 'face.eyes' на объекте Human, а не к свойству eyes на человеке .face свойство).

Есть другой способ сделать это?

12
задан Valdemar 2 November 2010 в 11:28
поделиться