I'm coming to this one late -- but it's a fascinating question.
The short answer is, give them the answer, but also try to engage them into a discussion about what the answer means, and perhaps also into a meta-discussion about how they should be looking for answers.
Tangent: It reminds me of what someone told me once was the difference between (?:vocational) college and university: In college they teach you how to do something, and in university they teach you how to learn.
One of the things I love about going to Perlmongers meetings is that the level of brain activity in the room is really, really high -- I love it. Yes, someone's giving a talk about something technical, but the questions and comments that fly about are really brilliant -- you can tell there's something really interesting going on, and that's there's lots of brainpower in the room.
I hope that the people that are attracted to programming are the ones who want to tinker, explore, find stuff out and get their task done. And I hope that means they'll want the answer, but they'll also be interested in the background, and also want to know how to ask question in the future. And that means discussion. So that's a vote for the Socratic method.
Software Engineering is not a one-off job -- to me it's a career -- and that means keeping the relationship fresh, and always be learning.