Где-то наткнулся на предложение элегантно решить на любимом ЯП задачу подсчитать количество уникальных символов в строке.
На руби это вылилось в одну строку, хотя и сомнительную:
'asdasdadsadasdaffw'.split('').uniq.size
Сомнителен способ разбиения строки в массив. Ведь это поиск и только потом разделение. Стандартный метод to_a запихивает всю строку в один элемент массива (что довольно странно согласуется со способом адресации элементов строки подобно массивам, например str[5]). Можно итерироваться по строке, как по массиву, и складывать букавы во временный массив и считать, но бережный к кодировкам метод each_char есть только в 1.9 версии.
Больше всего удивляет именно to_a. Наводит на мысли об отсутствии единого дизайна. Или дыру в моей голове.
2 комментария:
Наш ответ чемберлену.
Подозрительно похоже, не находишь?
Io:
"zasdasdadsadasdaffw" split unique size
Похоже, но я не про то.
Я про то, что хотя строка массивоподобна, нормального способа преобразовать её в массив нет.
Отправить комментарий