Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.ruby > #2286

Re: pipe question

From 7stud -- <bbxx789_05ss@yahoo.com>
Newsgroups comp.lang.ruby
Subject Re: pipe question
Date 2011-04-04 19:12 -0500
Organization Service de news de lacave.net
Message-ID <b6f24ad6461fa5fa75f8c1fe78d9f727@ruby-forum.com> (permalink)
References <6351ecc5d2ac52f4b4c9d06ad2930f2c@ruby-forum.com> <BANLkTimcgE-BpQ22=knOoRM_78KfFD2-rQ@mail.gmail.com>

Show all headers | View raw


Josh Cheek wrote in post #990762:
>
> 3) For some reason that I don't know (probably interpreter magic) an
> uninitialized variable can be referenced in a boolean equation and it
> will
> evaluate to nil.
>
> first_name = first_name || "" # => ""
> first_name = "josh"
> first_name = first_name || "" # => "josh"
>
>
> So, it will set the variable to the empty string, if the variable is
> undeclared, or false , or nil.

I think the story goes something like this:  when the parser sees any 
'name =' expression, name gets entered into the symbol table. 
Thereafter, you will no longer get an exception when referencing the 
variable.  In your code, the parser sees 'first_name =', so first_name 
is entered into the symbol table, and then when ruby executes your code, 
the expression on the right hand side of the equals sign is executed.

Here is an example that might prove illustrative:

if 1 > 10
  x = 'hello'  #never executes
end

puts x  #=> nil
puts y  #=> undefined local variable or method `y'
        #for main:Object (NameError)

-- 
Posted via http://www.ruby-forum.com/.

Back to comp.lang.ruby | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

pipe question wolf volpi <wolf_volpi@yahoo.com> - 2011-04-03 21:58 -0500
  Re: pipe question John Feminella <johnf@bitsbuilder.com> - 2011-04-03 22:08 -0500
    Re: pipe question Robert Klemme <shortcutter@googlemail.com> - 2011-04-04 02:36 -0500
  Re: pipe question Josh Cheek <josh.cheek@gmail.com> - 2011-04-03 22:42 -0500
    Re: pipe question Josh Cheek <josh.cheek@gmail.com> - 2011-04-04 04:58 -0500
      Re: pipe question Brian Candler <b.candler@pobox.com> - 2011-04-05 04:01 -0500
    Re: pipe question 7stud -- <bbxx789_05ss@yahoo.com> - 2011-04-04 19:12 -0500
      Re: pipe question Josh Cheek <josh.cheek@gmail.com> - 2011-04-04 22:30 -0500
        Re: pipe question Robert Klemme <shortcutter@googlemail.com> - 2011-04-05 10:27 -0500
        Re: pipe question 7stud -- <bbxx789_05ss@yahoo.com> - 2011-04-05 21:06 -0500
        Re: pipe question Jesús Gabriel y Galán <jgabrielygalan@gmail.com> - 2011-04-06 02:00 -0500
      Re: pipe question Josh Cheek <josh.cheek@gmail.com> - 2011-04-05 21:23 -0500
  Re: pipe question wolf volpi <wolf_volpi@yahoo.com> - 2011-04-03 23:55 -0500

csiph-web