Skip to content

Latest commit

 

History

History
116 lines (70 loc) · 2.18 KB

string.adoc

File metadata and controls

116 lines (70 loc) · 2.18 KB

Datový typ string!

1. Úvodem

Hodnota typu string! je sequence kódovacích bodů Unicode nebo hodnot typu char!.

Typ string! je subtypem těchto typesetů: any-string!, default!, series!

2. 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 musí obsahovat únikové(escaped) znaky pro nový řádek:

>> cr
== #"^M"

>> lf
== #"^/"

>> crlf
== "^M^/"

Víceřádkový řetězec může obsahovat znaky nového řádku, uvozovky a páry závorek. Nespárované závorky musí být 'escaped' předsazením znakem ^, např. {foo^{}.

3. Vytvoření při runtype

Hodnoty typu string! lze vytvořit také při runtime konstruktorem make nebo konverzí to.

>> s: make string! 100
== ""
>> to string! 'foo
== "foo"

>> to string! [bar]
== "bar"

>> to string! 42
== "42"

Rovněž je možné použít funkce form a mold ke konverzi hodnoty na "user-friendly" řetězec".

>> form 'foo
== "foo"
>> mold 'bar
== "bar"
Note
Pokus o převod hodnoty none konverzí to vyvolává chybové hlášení.

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