Re[6]: Смысл of case insensitive collation
От: igna Россия  
Дата: 07.11.08 15:28
Оценка:
Здравствуйте, Aikin, Вы писали:

A>Без учета регистра: ... , Aikin, aIkIn, AIKIN, aikIN, ..., igna, Igna, IGNA, ignA, ...

A>С учетом: ... ,aikIN, aIkIn, ..., igna, ignA, ..., Aikin, AIKIN, ..., Igna, IGNA, ...

Это ты чем сравнивал, strcmp-ом и stricmp-ом?

strcoll: aikIN, aIkIn, Aikin, AIKIN, igna, ignA, Igna, IGNA
stricoll: Aikin, aIkIn, AIKIN, aikIN, igna, Igna, IGNA, ignA
Re[13]: Смысл of case insensitive collation
От: Aikin Беларусь kavaleu.ru
Дата: 07.11.08 15:37
Оценка:
Здравствуйте, igna, Вы писали:

I>Твой пример имеет отношение к сортировке, но к collation — вряд ли. Все-таки согласись, странно постоянно и в каждом предложении напоминать о том, что речь идет о сортировке в смысле collation, когда collation эта появилась в названии темы с самого начала и не девается оттуда никуда.

Я если честно, знать не знал что такое "collation" (кроме его перевода который указывает на сортировку, но не на ее вид) пока не заглянул в вики после твоего вопроса
Автор: igna
Дата: 07.11.08
Поэтому считал, что ты не уверен зачем нужно вообще сортировать слова не в алфавитном, а каком-то другом порядке.


По поводу равенства букв ё и Е в сообщении Синклера и фразы: "Не передергивай, речь не о сравнении на равенство, а о сортировке."
Сравнение на равенство имеет непосредственное отношение к сравнению на больше/меньше/равно (частичный порядок), так как равные элементы имеют одинаковые "веса" и идут вместе (как в примере "елка, ёлка, епископ").


По поводу изначального сообщения пример задачи (да отталкиваться нужно именно от задачи) приведен здесь
Автор: Aikin
Дата: 07.11.08


СУВ, Aikin
Re[7]: Смысл of case insensitive collation
От: Aikin Беларусь kavaleu.ru
Дата: 07.11.08 15:40
Оценка:
Здравствуйте, igna, Вы писали:

I>Здравствуйте, Aikin, Вы писали:


A>>Без учета регистра: ... , Aikin, aIkIn, AIKIN, aikIN, ..., igna, Igna, IGNA, ignA, ...

A>>С учетом: ... ,aikIN, aIkIn, ..., igna, ignA, ..., Aikin, AIKIN, ..., Igna, IGNA, ...

I>Это ты чем сравнивал, strcmp-ом и stricmp-ом?

"Руками", исползуя стнадартный подход: любая большая буква "больше" маленькой.

I>strcoll: aikIN, aIkIn, Aikin, AIKIN, igna, ignA, Igna, IGNA

I>stricoll: Aikin, aIkIn, AIKIN, aikIN, igna, Igna, IGNA, ignA
Хмм, интересно... Нужно почитать про этот strcoll. Почему именно так...
Re[8]: Смысл of case insensitive collation
От: igna Россия  
Дата: 07.11.08 15:44
Оценка:
Здравствуйте, Aikin, Вы писали:

I>>strcoll: aikIN, aIkIn, Aikin, AIKIN, igna, ignA, Igna, IGNA

I>>stricoll: Aikin, aIkIn, AIKIN, aikIN, igna, Igna, IGNA, ignA
A>Хмм, интересно... Нужно почитать про этот strcoll. Почему именно так...

Вот, верно. У меня, пока я про strcoll не читал, тоже вопросов не возникало. Просто думал, что раз есть strcmp, _stricmp и strcoll, то почему бы не быть и _stricoll-у.
Re[4]: Смысл of case insensitive collation
От: igna Россия  
Дата: 07.11.08 15:52
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Только не locale, а collation.


Согласен, просто в C и C++ collation является частью locale, но конечно точнее говорить collation.

S>Я вообще твою претензию не понимаю. Я бы понял, если бы чего-то не было, что тебе нужно. А зачем требовать, чтобы что-то убрали ?


Чтобы это что-то не использовали сами не понимая зачем, и мне не приходилось его потом отрывать и выбрасывать со скрежетом.
Re: Смысл of case insensitive collation
От: Aikin Беларусь kavaleu.ru
Дата: 08.11.08 15:04
Оценка: 1 (1)
Здравствуйте, igna, Вы писали:

I>Какой смысл имеет независимая от регистра сортировка в лексикографическом порядке определенного языка? Если в русском языке принято, что строчные буквы предшествуют прописным, зачем менять этот порядок? Я еще понимаю причины появления скажем функции _stricmp в C, которая в случае английского языка является неким подобием функции strcoll, но зачем кому-то понадобилась _stricoll?


Интересный пример нашел в википедии:

There has historically been some variation in the application of these rules. For instance, the prefixes Mc and M' in Irish and Scottish surnames were taken to be abbreviations for Mac, and alphabetized as if they were spelled out as Mac in full. Thus one might find in a catalog the sequence:

McKinley
Mackintosh

with McKinley preceding Mackintosh, as if it had been spelled "MacKinley". Since the advent of computer-sorted lists, this type of alphabetization is less frequently encountered, though it is still used in British phone books.


И еще пример про пробелы:

A variation in alphabetical principles applies to names consisting of two words. In some cases, names with identical first words are all alphabetized together under the first word, e.g., grouping together all names beginning with San, all those beginning with Santa, and those beginning with Santo:

San
San Cristobal
San Juan
San Teodoro
San Tomas
Santa Barbara
Santa Clara
Santa Cruz
Santo Domingo

But in another system, the names are alphabetized as if they had no spaces, e.g. as follows:

San
San Cristobal
San Juan
Santa Barbara
Santa Clara
Santa Cruz
San Teodoro
Santo Domingo
San Tomas

Вот так вот

В общем рекомендую ознакомиться со статьей в Вики.

СУВ, Aikin
Re[2]: Смысл of case insensitive collation
От: igna Россия  
Дата: 09.11.08 07:03
Оценка:
Здравствуйте, Aikin, Вы писали:

A>with McKinley preceding Mackintosh, as if it had been spelled "MacKinley". Since the advent of computer-sorted lists, this type of alphabetization is less frequently encountered, though it is still used in British phone books.


Какое отношение это имеет к case insensitive collation?

A>В общем рекомендую ознакомиться со статьей в Вики.


Слушай, ... кхм ..., это не ты ли два дня тому назад впервые про то, как strcoll сортирует, узнал?: здесь
Автор: Aikin
Дата: 07.11.08
Re[3]: Смысл of case insensitive collation
От: Aikin Беларусь kavaleu.ru
Дата: 10.11.08 07:17
Оценка:
Здравствуйте, igna, Вы писали:

I>

A>>with McKinley preceding Mackintosh, as if it had been spelled "MacKinley". Since the advent of computer-sorted lists, this type of alphabetization is less frequently encountered, though it is still used in British phone books.


I>Какое отношение это имеет к case insensitive collation?

К case insensitive collation никак, а вот к collation очень даже.
Я запостил интересный (на мой взгляд) факт про исключения в сортировке по алфавиту (в частности отвечая на твой вопрос: "И если в приложении "Елка" в отсортированном списке идет после "ёлка", то это не по-человечески").

Не хочешь -- не читай. А тем более не отвечай.

I>Слушай, ... кхм ..., это не ты ли два дня тому назад впервые про то, как strcoll сортирует, узнал?: здесь
Автор: Aikin
Дата: 07.11.08

Да это я. И ты прекрасно это знаешь.
strcoll -- какая-то (одна из тысяч-миллионов) функций С++ который меня никогда не интересовал. Меня же интересуют общие знания, не привязанные ни к какой конкретной платформе.
Статья в википедии это все что мне хотелось бы знать про collation. Так что твой strcoll идут в сад.


На будущее: захочешь так же ответить -- лучше промолчи

СУВ, Aikin
Re[4]: Смысл of case insensitive collation
От: igna Россия  
Дата: 10.11.08 09:05
Оценка:
Здравствуйте, Aikin, Вы писали:

A>Статья в википедии это все что мне хотелось бы знать про collation.


Основываясь только на почерпнутых из статьи знаниях попробуй предсказать, каким будет результат case sensitive упорядочения последовательности abx, aBy, abz, aBx, aby, aBz. А case insensitive?
Re[5]: Смысл of case insensitive collation
От: Mamut Швеция http://dmitriid.com
Дата: 11.11.08 10:11
Оценка:
A>>Статья в википедии это все что мне хотелось бы знать про collation.

I>Основываясь только на почерпнутых из статьи знаниях попробуй предсказать, каким будет результат case sensitive упорядочения последовательности abx, aBy, abz, aBx, aby, aBz. А case insensitive?


Зависит от collation. Читать здесь: http://icu-project.org/userguide/Collate_Intro.html

Например:

— The letters A-Z can be sorted in a different order than in English. For example, in Lithuanian, "y" is sorted between "i" and "k".

— Combinations of letters can be treated as if they were one letter. For example, in traditional Spanish "ch" is treated as a single letter, and sorted between "c" and "d".

...

— Even in the same language, different applications might require different sorting orders. For example, in German dictionaries, "öf" would come before "of". In phone books the situation is the exact opposite.


и т.п.

Продолжение здесь: http://icu-project.org/userguide/Collate_Concepts.html и таблицу там же (там есть примеры, как колляция и локаль влияет на сортировку): http://icu-project.org/userguide/Collate_Concepts.html#Naming_Collators:


dmitriid.comGitHubLinkedIn
Re[6]: Смысл of case insensitive collation
От: igna Россия  
Дата: 11.11.08 13:40
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Зависит от collation.


Выбери любую по твоему желанию и отсортируй.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.