REBOL Programming/split-path

USAGE:Edit

SPLIT-PATH target 

DESCRIPTION:Edit

Splits a file or URL path. Returns a block containing path and target.

SPLIT-PATH is a function value.

ARGUMENTSEdit

  • target -- (Type: file url)

SOURCE CODEEdit

split-path: func [
    {Splits a file or URL path. Returns a block containing path and target.} 
    target [file! url!] 
    /local dir pos
][
    parse/all target [
        [#"/" | 1 2 #"." opt #"/"] end (dir: dirize target) | 
        pos: any [thru #"/" [end | pos:]] (
            all [empty? dir: copy/part target at head target index? pos dir: %./] 
            all [find [%. %..] pos: to file! pos insert tail pos #"/"]
        )
    ] 
    reduce [dir pos]
]
Last modified on 13 November 2012, at 10:48