a new programming style
Jan. 12th, 2012 11:59 amcase "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
Конечно, немножко тяп ляп, но важен стиль, а?
Спасибо Джошу Суерецу, Грегори Мередицу и Тони Моррису за то, что глаза открывают на прекрасный новый мир.