Čo budete robiť
Pripravený výraz spustíte v cvičisku vyššie, budete meniť vždy jeden vstup a vysvetlíte výsledok. Začnite v režime Iba CEL a potom rovnaké pravidlo zopakujte v režime CEL + JSON.
Ako to funguje
Typ CEL string predstavuje text Unicode. Hodnota bytes predstavuje surové bajty a je odlišným typom; nejde o druhý zápis textu. Spájanie pomocou + vyžaduje reťazec na oboch stranách. Znaky ako Ľ a 👋 zostávajú súčasťou reťazca bez osobitnej logiky aplikácie.
Prečítajte pripravený príklad
Pravidlo v režime CEL + JSON je:
greeting + ', ' + name + ' 👋'Jeho vstup je:
{
"greeting": "Ahoj",
"name": "Ľubica"
}Záložka Iba CEL obsahuje hodnoty aj pravidlo v jednom výraze. Povolené rozšírenie cel.bind() udrží každý názov lokálny v jeho poslednom argumente.
Vyhodnotenie krok za krokom
greetingposkytne prvú časť textu.- Ďalšie reťazce a
namesa spoja zľava doprava. - Výsledkom je jeden reťazec Unicode.
Vaša úloha
- Spustite oba režimy.
- Nahraďte meno textom s vlastnou diakritikou.
- V režime Iba CEL spustite
type(bytes('CEL')) == bytes.
Očakávané pozorovanie: Pozdrav zachová znaky Unicode a kontrola typu bytes() vráti true.
Častá chyba
Nepoužívajte bytes iba preto, že text sa neskôr uloží alebo odošle. Použite ho vtedy, keď hostiteľské rozhranie očakáva postupnosť bajtov.
Zobraziť vysvetlenie
Nie. Sú to odlišné typy a vyžadujú podporovanú explicitnú konverziu.
Kontrolná otázka
Dá sa hodnota bytes priamo spojiť s hodnotou string?
Hlavná myšlienka
Pre text určený ľuďom používajte string. Typ bytes má samostatný účel.
Zdroje
CEL-DEV— oficiálny prehľad CEL.CEL-LANG— oficiálna definícia jazyka CEL.CEL-GO-BIND— oficiálna dokumentácia voliteľného rozšíreniacel.bind()použitého v samostatnej záložke.