Страница 1 из 1
Ruby и юникод
Добавлено: 25 авг 2005, 23:04
Vorax
Я конечно знаю, что руби хранит строки не в юникоде.
Тогда как быть со строками содержащими, допустим, русские буквы.
"Lщ".length равно 3
Добавлено: 25 авг 2005, 23:16
Vorax
Кстати, в питоне то же самое.
len("питон") равно 10
Сколько пользуюсь, а никогда не проверял. И что удивительно, все как-то работает, и ни разу не довелось наступить на эту граблю

Добавлено: 26 авг 2005, 11:31
leikind
С length как раз проблем нет.
Код: Выделить всё
require 'jcode'
s = "Καλημέρα κόσμε!"
p s.jlength # => 15
Добавлено: 26 авг 2005, 11:33
leikind
В строке присваивания были греческие буквы

Добавлено: 26 авг 2005, 14:18
Vorax
require 'jcode'
s = "Καλημέρα κόσμε!"
p s.jlength
У меня 28

Добавлено: 26 авг 2005, 16:05
Vorax
$KCODE = "u"
require 'jcode'
s = "Καλημέρα κόσμε!"
p s.jlength
а вот теперь 15
Добавлено: 29 авг 2005, 03:54
mend0za
возможно Ruby не помешало бы поучится у TCL. Там внедрение юникода произошло давно и повлекло за собой интересные явления:
функции определения длины строки в символах и размера строки в байтах - это 2 разные функции.