1.6. Konwersja między znakami a kodami
Problem
Chcemy otrzymać kod ASCII danego znaku lub przetransformować kod ASCII znaku w sam znak.
Rozwiązanie
Kod ASCII znaku możemy poznać za pomocą operatora ?
:
?a # => 97 ?! # => 33 ?\n # => 10
W podobny sposób możemy poznać kod ASCII znaku wchodzącego w skład łańcucha — należy wówczas wyłuskać ów znak z łańcucha za pomocą indeksu:
'a'[0] # => 97 'kakofonia'[1] # => 97
Konwersję odwrotną — kodu ASCII na znak o tym kodzie — realizuje metoda chr
, zwracająca jednoznakowy łańcuch:
97.chr # => "a" 33.chr # => "!" 10.chr # => "\n" 0.chr # => "\000" 256.chr # RangeError: 256 out of char range
Dyskusja
Mimo iż łańcuch jako taki nie jest tablicą, może być utożsamiany z tablicą obiektów Fixnum
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.