Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Паттер матчер на vavr с аргументом который возвращает void

vavr
java
Теги: #<Tag:0x00007fedc74e29d0> #<Tag:0x00007fedc74e2868>

#1

Есть самописный функциональный интерефейс котрый ничего не принимает на вход и ничего не возвращает. Назовём его Action

Как передать его в паттерн матчер от vavr?


Match(SiteVersion.getActiveSite()).of(
Case($(FIRSTSITE),ActionOne),
Case($(SECONDSITE), ActionTwo).....

Сам функциональный интерфей сыглядит вот так

public interface Action{
void perform();
}

(Сергей Кузьмин) #2

не пробовали вот как

			Pattern pattern = Pattern.compile("...",
					Pattern.CASE_INSENSITIVE);
String t = o.getText(); // where finding the matcher
String result = null;
			Matcher matcher = pattern.matcher(t);
			if (matcher.find()) {
				result = matcher.group(1);
			}


#3

Я про паттерн матчер и про джава сленг)


#4

Всё разобрался.


Match(getActiveSite()).of(
Case($(FIRSTSITE), () -> run(ActionOne::perform)),

(Ruslan Semerenko) #5

Имхо, у vavr паттерн матчинг получился ужасным. Но, красивее в джаве, наверно и не сделать. Думаю, для простых шаблонов симпатичнее использовать switch.