scala recursion assignement