Table of Contents
Hodnota typu lit-path!
je nevyhodnocená (citovaná) hodnota typu path!.
Hodnota typu lit-path!
se při vyhodnocení přemění na hodnotu typu path!, např. při zadání v konzole Red.
Typ lit-path! je členem těchto typesetů: series!
, any-block!
, any-path!
.
Hodnoty lit-path!
lze vytvořit použitím apostrofu '
případně quote
a literálovou syntaxí
nebo při runtimu použitím konstruktoru make
či konverzí to
.
>> 'foo/bar/baz
== foo/bar/baz
>> type? 'foo/bar/baz
== path!
>> quote 'foo/bar/baz
== 'foo/bar/baz
>> type? quote 'foo/bar/baz
== lit-path!
>> make lit-path! [foo bar baz]
== 'foo/bar/baz
>> to lit-path! [foo bar baz]
== 'foo/bar/baz
Prázdný lit-path se vytvoří celočíselným argumentem pro make
:
>> make lit-path! 10
== '
BNF:
<lit-path-literal> ::= '<path-literal>
<path-literal> ::= <path-head>/<selector>
<path-head> ::= <word-literal> | <path-literal>
<selector> ::= <integer> | <word-literal> | :<word-literal> | <paren>
Parse:
lit-path: [lit-word! some selector]
selector: [#"/" [integer! | word! | get-word! | paren!]]
K ověření, zda hodnota je typu lit-path!
použijeme funkci lit-path?
.
>> lit-path? first ['foo/bar]
== true
>> lit-path? quote 'foo/bar
== true
Funkce type?
vrací typ zadané hodnoty.
>> type? first ['foo/bar]
== lit-path!
>> type? quote 'foo/bar
== lit-path!