I certainly have not covered everything in every computer language I've used. And it seems to me that I only mastered C after teaching it in a community college.

I learn what I need to learn in a particular language when I need to learn something new. The "trigger" that tells me I need to delve deeper into a language is that a particular bit of code looks ugly or clumsy, appears unmaintainable or is difficult to test or comment. Often these triggers point to my lack of knowledge of a particular programming idiom, style, data structure and so on. 

Learning bits of programming languages as-needed has certainly not been a problem in my experience.