>> s: make string! 100
== ""
Datový typ string!
1. Úvodem
Hodnota typu string!
je sequence kódovacích bodů Unicode nebo hodnot typu char!.
Typ string!
je subtypem tqchto typesetů: any-string!
, default!
, series!
2. Vytvoření
Hodnoty typu string! lze vytvořit literálovou syntaxí nebo při runtime konstruktorem make
nebo konverzí to
.
>> to string! 'foo
== "foo"
>> to string! [bar]
== "bar"
>> to string! 42
== "42"
Rovněž je možné použít akce form
a mold
ke konverzi hodnoty na "user-friendly string" či "source format string".
>> form 'foo
== "foo"
>> mold 'bar
== "bar"
Note
|
Pokus o převod hodnoty none konverzí to vyvolává chybové hlá?ení.
|
3. Literálová skladba
Jednořádkový řetězec:
(Žádný či více znaků uvnitř apostrofů.
"foo"
Víceřádkový řetězec:
Žádný či více znaků uvnitř složených závorek.
{foo}
Jednořádkový řetězec nemůže obsahovat neodcuknuté (unescaped) znaky pro nový řádek:
>> cr
== #"^M"
>> lf
== #"^/"
>> crlf
== "^M^/"
Víceřádkový řetězec můž obsahovat znaky nového řádku, uvozovky a páry závorek. Nespárované závorky musí být odcuknuty (escaped) předsazením znakem ^
, např. {foo^{}
.
4. Komparace
Na hodnotu typu string!
lze aplikovat všechny komparátory: =, ==, <>, >, <, >=, <=, =?
. Rovněž jsou podporovány funkce min
a max
.
5. Testování hodnot
Funkcí string?
ověříme, zda posuzovaná hodnota je typu string!
.
>> string? "foo"
== true
Funkce type?
vrací typ dané hodnoty.
>> type? "foo"
== string!
6. Předdefinovaná slova
6.1. Akce
find
, form
, mold
, pick
, poke
, put
, read
, select
, trim
6.2. Funkce
a-an
, any-string?
, ask
, charset
, clean-path
, dirize
, ellipsize-at
, help-string
, input
, load
, pad
, string?
, to-string
6.3. Natives
as
, call
, checksum
, debase
, dehex
, difference
, do
, enbase
, exclude
, get-env
, intersect
, lowercase
, parse
, set-env
, to-local-file
, union
, unique
, uppercase
6.4. Routines
set-current-dir
, write-clipboard
, write-stdout