Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.ruby > #2286
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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