On Sun, Mar 1, 2009 at 2:13 PM, Phil Hagelberg <p...@hagelb.org> wrote:
>
> Phil Hagelberg <p...@hagelb.org> writes:
>
>> It's a pretty common idiom in other languages for substring functions
>> to count from the end if given a negative index.
>>
>>   (substring "hello world!" 6 -1) ;; => "world"
>>
>> I'd be glad if Clojure's "subs" function could work like this. Should
>> I create an issue and patch to implement it?
>
> Haven't heard any response on this positive or negative.
>
> Here's the new function definition:
>
> (defn subs
>  "Returns the substring of s beginning at start inclusive, and ending
>  at end (defaults to length of string), exclusive. Negative arguments
>  count from the end."
>  ([#^String s start] (subs s start (count s)))
>  ([#^String s start end]
>     (let [count-back #(if (< 0 %) (+ (count s) %) %)]
>       (.substring s (count-back start) (count-back end)))))
>
> Am I the only one who finds this useful? Perhaps if it's not suited for
> core it could go in str-utils in contrib as "substring".
>
> Thoughts?

I'd like to see it added. I'm used to having that available in Ruby.

-- 
R. Mark Volkmann
Object Computing, Inc.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to