Gabriele Santilli napsal(a):
>Hi Gregg,
>
>On Tuesday, January 18, 2005, 9:02:32 PM, you wrote:
>
>GI> find-Nth: func [
>GI> "Returns the series at occurrence N of value or none."
>GI> series [series!]
>GI> value
>GI> n [integer!]
>GI> /local count pos
>GI> ][
>GI> count: 0
>GI> parse series [
>GI> some [
>GI> to value pos: (
>GI> count: count + 1
>GI> if count = n [return pos]
>GI> ) skip
>GI> ]
>GI> ]
>GI> none
>GI> ]
>
>
>
...
> find-nth: func [
> "Returns the series at occurrence N of value or none."
> series [series!]
> value
> n [integer!]
>
> /local pos
> ] [
> if n = 1 [return find series :value]
> n: n - 1
> parse series [
> n thru value to value pos:
> ]
> pos
> ]
>
>
...
another option:
find-nth: func [
"Returns the series at occurrence N of value or none."
series [series!]
value
n [integer!]
/local pos
] [
parse series [n [to value pos: value] to end]
pos
]
>If the value is just a character, you can simplify things out:
>
> find-nth: func [
> "Returns the series at occurrence N of value or none."
> series [any-string!]
> value [char!]
> n [integer!]
>
> /local pos
> ] [
> parse series [
> n thru value pos: (pos: back pos)
> ]
> pos
> ]
>
>Regards,
> Gabriele.
>
>
-L
--
To unsubscribe from the list, just send an email to rebol-request
at rebol.com with unsubscribe as the subject.