Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^2: Use Hash? Array? Still confused after all these years.

by brian_d_foy (Abbot)
on Jul 21, 2005 at 21:45 UTC ( [id://477028]=note: print w/replies, xml ) Need Help??


in reply to Re: Use Hash? Array? Still confused after all these years.
in thread Use Hash? Array? Still confused after all these years.

Well, hashes aren't exactly the same thing. Arrays are ordered, and hashes aren't. Many people still wonder why keys() doesn't return the keys in the order they added them (or even the same order all the time), and it will always be something I have to emphasize in a beginning Perl class.

I don't like to say that arrays are indexed by non-negative integers either (and I've always wondered why people use "integer" just to ignore half of them). We can use the negative indices to count from the end as long (as we have enough entries to count).

--
brian d foy <brian@stonehenge.com>
  • Comment on Re^2: Use Hash? Array? Still confused after all these years.

Replies are listed 'Best First'.
Re^3: Use Hash? Array? Still confused after all these years.
by exussum0 (Vicar) on Jul 21, 2005 at 22:05 UTC
    You are right on all counts. In c, you create a buffer overflow (underflow?) unless you are careful w/ your pointer arithmatic. php I believe doesn't mind. Perl, yeah.

    It's fairly universal to say non-negative numbers though, on the concept level. But that's a preference in teaching the concepts, eh? :)

    ----
    Give me strength for today.. I will not talk it away..
    Just for a moment.. It will burn through the clouds.. and shine down on me.

      I don't say "non negative numbers" either, because you can't use most "non negative numbers" for array indices. I say "counting numbers", "whole numbers", or "cardinal numbers" depending on my mood. It's not really a teaching preference so much as accurately describing the concept.

      --
      brian d foy <brian@stonehenge.com>
        Which non negative numbers aren't usable?

        ----
        Give me strength for today.. I will not talk it away..
        Just for a moment.. It will burn through the clouds.. and shine down on me.

Re^3: Use Hash? Array? Still confused after all these years.
by Anonymous Monk on Jul 22, 2005 at 14:12 UTC
    Wes still index arrays using non-negative integers. Sure, you can use negative integers to count from the end, but $array[-$N] is just syntatical sugar for $array[@array-$N]. If we truely could use negative integers to index, the following would not be an error:
    my @array = (1); $array[-2] = 2;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://477028]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (1)
As of 2024-04-19 00:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found