Cursus Raku / Elementa / Catenae

Catena longitudo

Natura Unicode filarum facit quaedam levia paulo difficiliora. Vel, saltem, debes cogitare de ea tamquam de re minus directa. Accipe, exempli gratia, longitudinem filae. Estne numerus characterum, an est numerus byteorum? Vel quid si idem character diversimode in diversis filis decompositus est, estne adhuc unus character?

Longitudo in characteribus

Ut longitudines filae in characteribus obtineas, utere methodo chars:

my $str = '你好世界';
say $str.chars;

Dum de methodis postea loquemur, iam eas uti debemus. In Raku, potes methodos in fere omni obiecto vocare, inclusis filis et variabilibus scalaribus. Ut methodum vocares, utere puncto. Ita, hic videmus methodum vocatam in variabili quae filam continet: $str.chars.

Quattuor characteres sunt in hoc salutatione Sinensi 你好世界. Et $str.chars exacte 4 reddit.

Longitudo in byteis

Ad referentiam, hoc modo longitudines filae in byteis obtines. Hoc casu, interest scire quae codificatio ad filam tenendam adhibetur:

my $str = '你好世界';
say $str.encode('UTF-8').bytes;

Hoc tempore, programma 12 imprimit. Nota quod duas methodi vocationes concatenatas in secunda linea hic habemus.

Longitudo in punctis codicis

Ad plenitudinem, hic est alia utilis methodus quae etiam ad longitudines filarum pertinet: codes. Reddit numerum punctorum codicis in fila postquam normalizata est. In multis casibus, codes et chars idem reddunt. Tamen, in quibusdam raris casibus, cum, exempli gratia, ‘impossibilem’ characterem aedificas, cuius nullus singularis punctus codicis in toto spatio Unicode est, methodi diversos eventus dant.

say 'x̨'.chars;
say 'x̨'.codes;

Hic character, , nullum punctum codicis dedicatum habet et solum ex duabus partibus construi potest: littera minuscula x et character combinans 0x0328. Ita, adhuc unus character est sed duo puncta codicis. Ita, programma imprimit:

1
2

Praxis

Perfice quaestionem quae argumenta huius thematis comprehendit.

Cursus navigatio

Catenae / Escapatio specialium characterum   |   💪 Exercitationes: Catenae

Haec pagina automatice translata est per ChatGPT 4o. Originalis Anglicus textus

Translationes huius paginae: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська