Vigenère cipher encryption in Scala
I'm not a scala/fp expert but here is my 2 cents.

Your code reads very much like you have read the definition on wikipedia and translated it into scala. As the wikipedia definition is written as a human implemented algorithm you end up with a very procedural approach.

A few specific things:


tabulaRecta - this is constant, making it a var is a massive code smell
makeFullkey - you use zipWithIndex but don't use c, just use index
why can't tabulaRecta be a function?
why create a fullKey - can't you compute the key char as a function?