Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Rebol Programming/to-relative-file

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

USAGE: TO-RELATIVE-FILE file /no-copy /as-rebol /as-local DESCRIPTION: Returns the relative portion of a file if in a subdirectory, or the original if not. TO-RELATIVE-FILE is a function value. ARGUMENTS file -- File to check (local if string!) (Type: file string) REFINEMENTS /no-copy -- Don't copy, just reference /as-rebol -- Convert to REBOL-style filename if not /as-local -- Convert to local-style filename if not SOURCE CODE to-relative-file: func [ {Returns the relative portion of a file if in a subdirectory, or the original if not.} file [file! string!] "File to check (local if string!)" /no-copy "Don't copy, just reference" /as-rebol "Convert to REBOL-style filename if not" /as-local "Convert to local-style filename if not" /local tmp ][ either string? file [ if tmp: find/match file to-local-file what-dir [file: next tmp] if as-rebol [file: to-rebol-file file no-copy: true] ] [ file: any [find/match file what-dir file] if as-local [file: to-local-file file no-copy: true] ] unless no-copy [file: copy file] file ]