The only problem I see is that the author uses abbreviated variable names quite often. For someone like me, just learning the language, this can make some of the examples quite hard to follow, such as:
ltrs.foldLeft(List[(Char,Int)]()){
case ((prevchr,cnt)::tl,chr) if(prevchr==chr) =>(prevchr,cnt+1)::tl
case (tbl,chr) => (chr,1)::tbl
}
Keeping track of cnt, chr, t1, tbl, etc is hard enough, even when you're not trying to learn the syntax as well.