Я предложил бы это, поскольку это использует наименьшее количество regex для выполнения цели. Это - все еще функциональный код, но не хуже тогда Ваш старый Perl.
import re
var = "barbazfoo"
m = re.search(r'(foo|bar|baz)(.+)', var)
if m.group(1) == 'foo':
print m.group(1)
# do something with m.group(1)
elif m.group(1) == "bar":
print m.group(1)
# do something with m.group(1)
elif m.group(1) == "baz":
print m.group(2)
# do something with m.group(2)
Меня очень интересует Scala, но я еще не использовал его, поэтому с этой оговоркой, фреймворки, о которых я знаю, не упомянуты в ответе HRJ (Lift, Sweet, Slinky):
Еще есть Pinky, который раньше был на bitbucket, но был перенесен на github .
Кстати, github - отличное место для поиска проектов Scala, так как там много чего ставят.
Следует отметить, что значительный интерес вызывают также Wicket и Скала . Калитка на удивление хорошо подходит для Scala. Если вы хотите воспользоваться преимуществами очень зрелого проекта Wicket и его экосистемы (расширений), а также лаконичного синтаксиса и преимущества в производительности Scala, этот проект может быть для вас!
См. Также:
Я написал сообщение в блоге об этом.
Подводя итог, можно сказать, что некоторые из вариантов:
В конце концов я обнаружил, что ни один из них не подходит для меня, и разработал свой собственный небольшой «каркас». (Это еще не открытый исходный код).
Есть новый веб-фреймворк, который называется Scala Web Pages . С сайта:
Веб-фреймворк Scala Pages, вероятно, понравится веб-программистам, которые имеют опыт работы с Java и хотят программировать веб-приложения на Scala. Акцент делается на ООП, а не на функциональном программировании.
$ переменная
и Scp-инструкция?>
Попробуйте Play Framework , который также поддерживает Scala.
Мне нравится Lift; -)
Играть - мой второй выбор для Scala-дружественных веб-фреймворков.
Калитка - мой третий выбор.