a new programming style
Jan. 12th, 2012 11:59 am
case "vulcan" :: "status" :: Nil Post _ => {
for (
success <- S.param("success");
listener <- whoCare)
listener("", true)
for (
list <- S.param("failList");
val ignoreme = VulcanLog.error ("The following engine(s) reported start failures: %s", list);
listener <- whoCare
) listener(list, false)
thank you
}
Вот так вот я теперь пишу - и это типа только начало, потому что сейчас ещё чуток поднапрягусь, усвою силу монады и апликативность, и перейду к апликативному стилю. Заодно большой пост напишу на эту тему. А то что на верху - вчерашний день немножко. В sbt уже проехали этот кондовый do-style.
Что здесь происходит.
К нам приходит http://.../vulcan/status?success=true или ... /vulcan/status?failedList=ivanov,petrov,sidorov
Первый цикл - на первый случай, а второй - на второй.
Во втором случае мы берём список неудачников и посылаем всем слушателям из множества whoCare
Конечно, немножко тяп ляп, но важен стиль, а?
Спасибо Джошу Суерецу, Грегори Мередицу и Тони Моррису за то, что глаза открывают на прекрасный новый мир.