On Jul 1, 2006, at 12:15 AM, Minkoo Seo wrote:

> Hi austin.
>
> On 7/1/06, Austin Ziegler <halostatue / gmail.com> wrote:
>>
>> irb behaves differently than Ruby might otherwise behave because all
>> of the code entered is eval-ed when it's in a "complete" state for  
>> the
>> Ruby interpreter to use.
>>
>
> I'm afraid that I don't understand "all of the code entered is eval-ed
> when it's in a "complete" state for the Ruby interpreter to use"  
> means.
>
> What do you mean by 'evaled' and 'complete state'? And Why are the
> visibility differences happening?
>
> Sincerely,
> Minkoo Seo

irb is a repl written in ruby which means it uses eval (or  
module_eval or instance_eval). Now whether intentionally or not (one  
could probably find out by looking at the source), all irb sessions  
basically have an implicit
irb(main):000:0> public

at the top.

If you want it to act more like a bog-standard ruby top-level, you  
can type private at the start of your irb session. (unfortunately  
putting it in your .irbrc won't work)