rue teaches piglet about symbols on #ruby-lang

Discussion in 'Ruby' started by Alex Combas, Jan 9, 2006.

  1. Alex Combas

    Alex Combas Guest

    Taken from #ruby-lang with a slight cleanup
    (I am piglet)

    * piglet wonders if someone would be so kind to explain what a symbol
    is slowly and clearly so his simple pig brain will understand. "A
    symbol is the name of an object" just doesn't grok.

    dagbrown: It's a name without an object attached to it.
    rue: Oo, let me try my state again!
    rue: It is a name or description that is only meaningful to the programmer
    rue: Like you can say @status =3D :connected
    rue: The :connected does not mean anything to ruby, only you. You have
    decided to call this particular status :connected
    * piglet tries hard not to look confused.
    piglet: how does this fit in with .to_sym or .to_i then?
    rue: Those are just ways to construct (or deconstruct) a symbol
    rue: The implementation is secondary and has no inherent meaning
    rue: So long as you understand what symbols are for :)connected), you
    are golden. Then you can take a look at implementation details
    piglet: ah seems clearer now.. still fuzzy though..
    rue: Is there a particular usage that is confusing?
    piglet: i'll get back to you, let me meditate some more
    piglet: i like playing with things in irb until i understand, but
    these symbols are weird
    rue: One more! You could just as well write attr_accessor 'foo' . You
    are just saying the name of the method you want to create.
    rue: All these people with their 'immediate values' and 'integer
    representations' are out to confuse people, I think :)
    piglet: someone should let them know they've won, so they will stop
    rue: Yep. But do you, sort of, see I what I am saying? They are just
    names that are meaningful to YOU. Instead of having to say @status =3D
    1, you can say @status =3D :connected
    Pieter: symbols are like integers you pass to a method to select a
    state or something. With symbols you can use human-readable objects
    instead of integers
    * rue hopes for a tentative 'yes'
    rue: That would mean we are about 8000 lines of text better than ruby-talk =
    :)
    piglet: rue I get it :)
    Pieter: wow :)
    rue: Yays :p
    piglet: are symbols more better, or just 'more meaningful'?
    Pieter: you should post the log to ruby-talk and pimp
    rue: More meaningful.
    rue: As I mentioned, there are some implementation details that may be
    interesting in the current ruby.
    * piglet is satisfied :)
    rue: The thing that is mostly at the root of all this confusion is
    that ruby itself creates some symbols. Mostly because it is a
    convenient
    rue: The second thing --and this is *completely useless knowledge*--
    is that symbols are in fact processed as 'immediate values'.
    piglet: I guess I have to ask what an immediate value is now.
    Pieter: :)
    rue: Normal objects are held as references. Say, a =3D 'foo', a does
    not actually contain the object, just a reference
    rue: Fixnums and Symbols are actually stored 'in' the variable
    (references are integers too).
    rue: But these are just optimizations. There is no functional reason
    this is the way it is.
    piglet: fixnums and symbols are faster then because they are actually
    stored in the variable and not just being pointed to by the variable?
    rue: Precisely.
    piglet: I didnt know ruby stored anything in its variables besides
    pointer type things
    rue: Yep --and the important bit is that it does not matter if it does or n=
    ot.
    piglet: no it wouldnt matter, but its interesting to know
    rue: Oh, hell, I will post on ruby-talk. At least they will have
    something to talk about tomorrow even if it is bashing our methodology
    :p
    piglet: rue, would you mind if I do as Pieter says and post this convo
    to ruby-lang, I bet someone will get something out of it.
    rue: Oh, sure. Just paste the whole thing all the way down here :)
    piglet: :)





    --
    Alex Combas
    http://noodlejunkie.blogspot.com/
    Alex Combas, Jan 9, 2006
    #1
    1. Advertising

  2. Alex Combas

    Chad Perrin Guest

    On Mon, Jan 09, 2006 at 06:01:50PM +0900, Alex Combas wrote:
    > Taken from #ruby-lang with a slight cleanup
    > (I am piglet)


    Woah, that was confusing.

    --
    Chad Perrin [ CCD CopyWrite | http://ccd.apotheon.org ]

    "Real ugliness is not harsh-looking syntax, but having to
    build programs out of the wrong concepts." - Paul Graham
    Chad Perrin, Jan 9, 2006
    #2
    1. Advertising

  3. Alex Combas

    James Britt Guest

    Chad Perrin wrote:
    > On Mon, Jan 09, 2006 at 06:01:50PM +0900, Alex Combas wrote:
    >
    >>Taken from #ruby-lang with a slight cleanup
    >>(I am piglet)

    >
    >
    > Woah, that was confusing.



    "When I use a symbol," Humpty Dumpty said, in a rather scornful tone,
    "it means just what I choose it to mean - neither more nor less."
    "The question is," said Alice, "whether you can make symbols mean so
    many different things."
    "The question is," said Humpty Dumpty, "which is to be master - that's
    all."

    -- With apologies to Lewis Carroll (1832-1898) Through The Looking Glass
    1871



    James

    --

    http://www.ruby-doc.org - Ruby Help & Documentation
    http://www.artima.com/rubycs/ - The Journal By & For Rubyists
    http://www.rubystuff.com - The Ruby Store for Ruby Stuff
    http://www.jamesbritt.com - Playing with Better Toys
    http://www.30secondrule.com - Building Better Tools
    James Britt, Jan 9, 2006
    #3
  4. Alex Combas

    Alex Combas Guest

    The reason its so confusing is because that was an actual irc conversation.
    At the time it made a lot of sense.. guess you just had to be there.


    On 1/9/06, Chad Perrin <> wrote:
    > On Mon, Jan 09, 2006 at 06:01:50PM +0900, Alex Combas wrote:
    > > Taken from #ruby-lang with a slight cleanup
    > > (I am piglet)

    >
    > Woah, that was confusing.
    >


    The reason it is so confusing is because that was an actual irc conversatio=
    n.
    At the time it made a lot of sense.. guess you just had to be there.

    --
    Alex Combas
    http://noodlejunkie.blogspot.com/
    Alex Combas, Jan 9, 2006
    #4
  5. On Mon, Jan 09, 2006 at 06:01:50PM +0900, Alex Combas wrote:
    > Taken from #ruby-lang with a slight cleanup
    > (I am piglet)


    Surely piglet meant

    I am :piglet

    :)
    Mark Szpakowski, Jan 10, 2006
    #5
  6. Alex Combas wrote:

    >rue: That would mean we are about 8000 lines of text better than ruby-talk :)
    >

    You mean someone doesn't find cleverly disguised flames and small-scale
    holy wars over the simplest statements as helpful and an enrichening
    readig experience? Gasp! My youthful dreams and illusions shattered. Oh,
    that means I'll have to pledge not to spam the list with my two cents on
    topics dead for a week...

    David Vallner
    Senior Compulsive Liar, part-time Spammeister
    David Vallner, Jan 11, 2006
    #6
  7. Alex Combas

    Alex Combas Guest

    On 1/11/06, David Vallner <> wrote:
    > Alex Combas wrote:
    > >rue: That would mean we are about 8000 lines of text better than ruby-ta=

    lk :)
    > >

    > You mean someone doesn't find cleverly disguised flames and small-scale
    > holy wars over the simplest statements as helpful and an enrichening
    > readig experience? Gasp! My youthful dreams and illusions shattered. Oh,
    > that means I'll have to pledge not to spam the list with my two cents on
    > topics dead for a week...
    >


    As long as you're not the one initiating or perpetuating these "flames
    and small-scale holy wars" then by all means feel free to resurect
    long dead topics.

    There is a lot of stuff happening in the list that I dont comment on becaus=
    e I'm
    too newb yet, but if the topic is still active in a few week or months
    perhaps I'll
    have something interesting to say, or at the very least a good question to =
    ask..

    Some topics should never die.

    --
    Alex Combas
    http://noodlejunkie.blogspot.com/
    Alex Combas, Jan 11, 2006
    #7
  8. Alex Combas wrote:

    >On 1/11/06, David Vallner <> wrote:
    >
    >
    >>Alex Combas wrote:
    >>
    >>
    >>>rue: That would mean we are about 8000 lines of text better than ruby-talk :)
    >>>
    >>>
    >>>

    >>You mean someone doesn't find cleverly disguised flames and small-scale
    >>holy wars over the simplest statements as helpful and an enrichening
    >>readig experience? Gasp! My youthful dreams and illusions shattered. Oh,
    >>that means I'll have to pledge not to spam the list with my two cents on
    >>topics dead for a week...
    >>
    >>
    >>

    >
    >As long as you're not the one initiating or perpetuating these "flames
    >and small-scale holy wars" then by all means feel free to resurect
    >long dead topics.
    >
    >

    Depends on the time of day, season of the year, caffeine level, sexual
    drive, and the position of Jupiter's moons...

    David Vallner
    David Vallner, Jan 11, 2006
    #8
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Kevin Simonson

    Internet Site that Teaches Java

    Kevin Simonson, Feb 4, 2004, in forum: Java
    Replies:
    8
    Views:
    458
    Matt O'Toole
    Feb 5, 2004
  2. BriMarErn
    Replies:
    4
    Views:
    428
    Neredbojias
    Jan 8, 2008
  3. Curt Hibbs
    Replies:
    0
    Views:
    151
    Curt Hibbs
    Mar 20, 2006
  4. Phrogz
    Replies:
    4
    Views:
    230
    Austin Ziegler
    Sep 6, 2006
  5. Peter Michaux
    Replies:
    1
    Views:
    117
    Randy Webb
    Oct 29, 2006
Loading...

Share This Page