Курс по Raku / Основи

Бележки относно използването на Unicode

Raku приема, че всички ваши програмни файлове са запазени като UTF-8 файлове. От практическа гледна точка, това означава, че не трябва да се притеснявате за не-ASCII символи в, например, низови литерали. Но това не е всичко. Най-вероятно няма да се притеснявате, ако вашата програма чете текстов файл, който също е UTF-8 файл. Това също означава, че дължината на низа се открива правилно като броя на символите, а не като броя на байтовете. (Ще разгледаме това по-подробно по-късно.)

Следващото нещо, което трябва да знаете, е че можете да използвате не-латински или не-английски букви за идентификатори. Можете да наречете вашата променлива вместо $i, ако предпочитате, и компилаторът ще я парсира правилно.

Raku третира Unicode свойствата на символите достатъчно педантично. Например, той не само знае дали един символ е буква или цифра, но също така правилно идентифицира двойки символи като скоби или различни видове скоби. В много случаи можете да изберете различен тип скоби за отделни части на програмата. Например, можете да модифицирате нашата програма „Hello, World!“ да използва тези не-латински кавички (ще ги видите отново, когато работим с граматики на Raku):

sayHello, World!」;

Някои вградени оператори имат две форми: Unicode и ASCII версии. Например, може да напишете отрицателно сравнение като != или като . Същото важи и за операции със множества: например, има чисто ASCII еквивалент (elem). Или, има вградена константа, към която можете да се отнесете като pi или π.

Когато работите с числа, можете да изберете да използвате дроби във формата на ½ вместо 0.5. Или, да изчислите квадрата на $x като $x² използвайки надписан символ.

Намерете пълния списък на такива двойки на следната страница с документация: 📖 Unicode срещу ASCII символи.

Навигация по курса

Здравей, свят!   |   Изпълнение на програми

Тази страница е автоматично преведена с ChatGPT 4.0. Оригинален текст на английски

Преводи на тази страница: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська