On Mar 4, 2009, at 14:06, Mibu wrote:
> On Mar 4, 2:46 pm, Michael Wood <[email protected]> wrote:
>> On Wed, Mar 4, 2009 at 2:07 PM, Mibu <[email protected]> wrote:
>>> Why does range in Clojure use an inclusive-exclusive range?
>> For what it's worth, Python's range function works the same way.
>
> I think Clojure's design leans towards what's right more than what's
> custom even if it breaks old habits, so I am curious why wasn't this
> bad habit broken as well. Is it just convention, bad as it is? Or
> maybe I'm missing some hidden good reason for using this confusing (to
> me) range over an inclusive range.
I wouldn't call it a bad habit just because it's not what you expected.
The definition of range used in Clojure (and elsewhere) has some nice
properties:
(= n (count (range n)))
(= (- b a) (count (range a b)))
(= (concat (range a b) (range b c)) (range a c))
Their utility may not be obvious immediately, but if you write code
that works a lot on indices, you will learn to appreciate them.
Konrad.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---