If you choose Ruby because it seems distinct in syntax and concept. I would recommend you to take a look at OCaml. Some keywords: immutable, functional, loop via recursion, accumulators, tail-call optimization, monads, pattern matching, type inference, ADT, etc
A small hobby project I made with it:
https://stackl.remikeat.com