These can all be done on one line
Clarify this step

I thought there would be a better way to do this but Dave told me that it is idiomatic just to leave it, or put a comment saying `do nothing` (as I had previously), but I expanded this comment just to clarify for those unfamiliar with Scala.
Use camel case not snake case

As is idiomatic for Scala.

Also, no need for this to be a case class as it doesn't store data, and no need for it to be final, really.
Change most Arrays to Seqs

It is more idiomatic in Scala to use Seqs; Arrays are rarely used. The Array in the main method definition however cannot be changed as that is in the main method signature.
Fix bug whereby it requires CLI args

Previous version printed out nothing if you passed no parameters, whereas bob walker with no paramters should print out beard, beer and pie. This commit fixes that.
Move modes into for comprehension

The calculation of which modes should be added for a flag can be inside the for comprehension.
Extract characters from args in for comprehension
Replace while loop with for comprehension