Por que não posso definir funções no document.ready () do jQuery?

As funções aparecem como indefinidas se eu as coloco na função document.ready ():

<code>$(document).ready(function(){
  function foo()
  {
    alert('Bar');
  }
});

foo(); // Undefined
</code>

Por que isso acontece? Tenho certeza que estou precisando apenas de um pouco de compreensão :)

questionAnswers(6)

yourAnswerToTheQuestion