Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.ruby > #6792
| Path | csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail |
|---|---|
| From | Robert Klemme <shortcutter@googlemail.com> |
| Newsgroups | comp.lang.ruby |
| Subject | Re: RubyWart: Missing Name Errors (AGAIN!) |
| Date | Wed, 01 May 2013 11:27:49 +0200 |
| Lines | 84 |
| Message-ID | <auc5glF4m42U1@mid.individual.net> (permalink) |
| References | <178bbf18-32c2-4ecb-8318-972617bfb332@googlegroups.com> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=UTF-8; format=flowed |
| Content-Transfer-Encoding | quoted-printable |
| X-Trace | individual.net eR3EZSqvQKBCHS7VPvpCIgV4EGPFa40usBBXMIUYaVsDdJMfo= |
| Cancel-Lock | sha1:3fk8k8J98y2wgw8KzURaOj+4FCg= |
| User-Agent | Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130329 Thunderbird/17.0.5 |
| In-Reply-To | <178bbf18-32c2-4ecb-8318-972617bfb332@googlegroups.com> |
| Xref | csiph.com comp.lang.ruby:6792 |
Show key headers only | View raw
On 05/01/2013 07:15 AM, rantingrickjohnson@gmail.com wrote:
> Same bowel movement, different cess pool!
>
> Can someone please explain the logic of having undefined symbols default to random values instead of throwing a NameError? Because this is making me F'ING NUTS PEOPLE!!!!
They don't. Also, this is not about an undefined Symbol but about an
unassigned member variable.
> ============================================================
> Code Sample
> ============================================================
> class Foo
> def foo
> $stdout.write("@poo = #{@poo}\n")
> end
> end
>
>
> ============================================================
> Interactive Session
> ============================================================
> rb> f = Foo.new
> #<Foo:0x79e6680>
> rb> f.foo
> @poo = 7
That output does not come from the code above:
irb(main):001:0> class Foo
irb(main):002:1> def foo
irb(main):003:2> $stdout.write("@poo = #{@poo}\n")
irb(main):004:2> end
irb(main):005:1> end
=> nil
irb(main):006:0> f = Foo.new
=> #<Foo:0x8f8bb84>
irb(main):007:0> f.foo
@poo =
=> 8
What you probably did:
irb(main):001:0> class Foo
irb(main):002:1> def foo
irb(main):003:2> $stdout.write("@poo = #{@poo}")
irb(main):004:2> end
irb(main):005:1> end
=> nil
irb(main):006:0> f = Foo.new
=> #<Foo:0x9285344>
irb(main):007:0> f.foo
@poo = => 7
Whatever interactive Ruby you used does not print "=> " in front of the
inspect of the last value. Now you also see why IRB does print this prefix.
> ============================================================
> Resulting Emotional State
> ============================================================
> ಠ_ಠ
It may actually be the other way round.
Kind regards
robert
Back to comp.lang.ruby | Previous | Next — Previous in thread | Find similar | Unroll thread
RubyWart: Missing Name Errors (AGAIN!) rantingrickjohnson@gmail.com - 2013-04-30 22:15 -0700 Re: RubyWart: Missing Name Errors (AGAIN!) Robert Klemme <shortcutter@googlemail.com> - 2013-05-01 11:27 +0200
csiph-web