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 ():

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

foo(); // Undefined

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