Пробуя ваш код в консоли Groovy, я получаю следующую ошибку:
Exception thrown
groovy.lang.MissingPropertyException: No such property: loginEmail for class: ConsoleScript9
at ConsoleScript9.getEmail(ConsoleScript9:7)
at ConsoleScript9.run(ConsoleScript9:10)
Я подумал о двух вариантах преодоления этого. Вы можете передать как ключ, так и карту, чтобы вы могли вернуть соответствующее значение из метода. Примерно так:
def loginEmail = [
"abc": "abc@mail.ru",
"cde": "cde@mail.ru"
]
def getEmail(String login, Map<String, String> loginEmail){
return loginEmail[login]
}
def result = getEmail("abc", loginEmail)
println(result)
Или создайте карту как свойство класса, а затем вызовите ее с помощью метода класса, например:
class TestLogin {
static loginEmail = [
"abc": "abc@mail.ru",
"cde": "cde@mail.ru"
]
static getEmail(String login){
return loginEmail[login]
}
}
TestLogin.getEmail('abc')