|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Basil A. Sidorov petrav Приведите пример составного символа, будем смотреть. Ну если кто-то включил полную декомпозицию, наверно, он знает что делает, ему это надо и он проблемы решит? Мне не нужна такая декомпозиция. Т.е. я не вижу проблемы с "Й" в UC-32. А вот проблемы в utf-8 я вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 12:44 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Юникод обязан работать не только у вас и для включения полной декомпозиции существуют вполне весомые аргументы. P.S. ConEmu и Хабр по ссылке оттуда. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 12:50 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
petravА вот проблемы в utf-8 я вижу. И в чём её проблема? PS: Ни Far3, ни Notepad, ни один из других известных мне просмотрщиков текстовых файлов на Windows не умеет работать с декомпозицией, что меня удручает, поскольку именно в таком формате идёт программа передач с телевизора. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 12:52 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Юникод обязан работать не только у вас и для включения полной декомпозиции существуют вполне весомые аргументы. У вас, мне кажется, какой-то неверный подход. Юникод обязан работать у всех, но не работает. При чём не работает у неглупых людей. Может проблема с Юникодом? Но ладно. Какие есть весомые аргументы включить полную декомопозицию? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 13:04 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
petrav Какие есть весомые аргументы включить полную декомопозицию? P.S. Юникод не работает тогда, когда очередной petrav считает, что "вот эту фигню можно не делать - бред же". ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 13:10 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Basil A. Sidorov petrav Какие есть весомые аргументы включить полную декомопозицию? Подождите. Ну вот мы полностью декомпозировали "йод", получилось четыре символа utf-8, "й" распалась на два, так? Но тривиальным алгоритмом поиска мы всё равно не найдём "иод". Я прав? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 13:18 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
petrav Но тривиальным алгоритмом поиска мы всё равно не найдём "иод". Я прав? Существуют диапазоны юникодных символов и всяческая диакритика расположена во вполне конкретных местах. И разные варианты пробела занимают вполне конкретные места и разные варианты дефисов - тоже. Следовательно, корректному "юникодному" алгоритму надо понимать - какой именно "тип" у найденного кода, но не всегда требуется анализ конкретного кода в уже известном диапазоне ("типе"). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 13:38 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
petrav получилось четыре символа utf-8 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 13:39 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Basil A. Sidorov petrav Но тривиальным алгоритмом поиска мы всё равно не найдём "иод". Я прав? Существуют диапазоны юникодных символов и всяческая диакритика расположена во вполне конкретных местах. И разные варианты пробела занимают вполне конкретные места и разные варианты дефисов - тоже. Следовательно, корректному "юникодному" алгоритму надо понимать - какой именно "тип" у найденного кода, но не всегда требуется анализ конкретного кода в уже известном диапазоне ("типе"). Т.е. вы хотите сказать, что в стандарте Юникода прописано, что после русской буквы "е" допустим диакритический знак, причём именно такой как в этой букве "ё"? И что в русском языке допускается заменить "ё" на "е"? И немец, который ни бум-бум в русском, сможет учитывать этот нюанс (при разработке поискового движка) используя исключительно стандарт Юникода? Или вы хотите просто определить, что символ диакретический и его отбросить в поиске? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 14:01 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Basil A. Sidorov petrav получилось четыре символа utf-8 Я не отбрасывал. Я пытаюсь понять как вы видите написание поиска по строке. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 14:03 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
После любой буквы допустим любой диакритический знак. И да, вне зависимости от языка его можно отбросить если нужно accent-insensitive сравнение. Как там прописано case-insensitive я не знаю. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 14:04 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
petrav, почитай еще раз закрытый топик https://www.sql.ru/forum/1319689-1/msvc-i-gcc-sovmestimost-kodirovok-ishodnikov Там было много полезной инфы к сведению. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 14:15 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov После любой буквы допустим любой диакритический знак. И да, вне зависимости от языка его можно отбросить если нужно accent-insensitive сравнение. Как там прописано case-insensitive я не знаю. Т.е. в любом языке отбрасывание диакритических знаков не меняет смысла слова? Спорное утверждение. "Нёбо" — "небо", "зайка" — "заика". Но ладно, мы пишем простой поиск и отбросим все диакритические знаки после полной декомпозиции. Ведь именно о поиске после декомпозиции писал Сидоров. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 14:27 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Алексей Роза у gzip есть 0-9 уровни сжатия, на 0 самое существенное различие судя по кол-ву букв в твоей жизни наконец-то произошло что-то важное. 1, да. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 14:36 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
petravТ.е. в любом языке отбрасывание диакритических знаков не меняет смысла слова? В любом языке поиск слова идёт по написанию, а не по смыслу. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 14:56 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
я не уверен, что разница между "e" и "ё" и "и" и "й" это именно диакретические символы такое трактование термина "диакретический" мне кажется достаточно вольным. при таком подходе и мягкий / твердый знак можно диакретическим символом назвать IMHO единственный знак похожий на диакретический - знак ударения. А буквы "е", "ё", "и", "й", "ь", "ъ", "ять", "фета" это все же отдельные буквы. IMHO Если кто видел древнегреческий алфавит ))) - вот там полное развличение с диакретическими символами. Буква греческого алфавита + 8 (точно не уверен, но их комбинаций еще больше!) диакретических символов которые почти к любой букве могут применяться. AFAIK В общем, тут лингвист нужен ))) ВикипедияДиакрити́ческие зна́ки (др.-греч. διακριτικός — «служащий для различения», от др.-греч. κριτικός — «способный различать»): в лингвистике — различные надстрочные, подстрочные, реже внутристрочные знаки, применяемые в буквенных (в том числе консонантных) и слоговых системах письма не как самостоятельные обозначения звуков, а для изменения или уточнения значения других знаков; в типографике — элементы письменности, модифицирующие начертание знаков и обычно набираемые отдельно ... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 15:14 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
По версии википедии, называть фигню над буквой ё диакретическим знаком некорректно https://ru.wikipedia.org/wiki/Ё#Название_надстрочного_элемента Официального и общепринятого термина для выносного элемента, присутствующего в букве «ё», нет. Традиционное языкознание и педагогика использовали слово «двоеточие»[К 3], в последние же сто лет чаще всего обходятся менее формальным выражением «две точки»[К 4], либо вообще стараются избегать отдельного упоминания этого элемента[К 5]. Использование иноязычных терминов (умлаут, трема, диерезис или диалитика) применительно к данной ситуации считается некорректным , так как это диакритические знаки и прежде всего обозначают определённую фонетическую функцию, хотя, например, А. А. Реформатский их использовал[3]. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 15:22 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
petrav Т.е. вы хотите сказать, что в стандарте Юникода прописано, что после русской буквы "е" допустим диакритический знак, причём именно такой как в этой букве "ё"? Если (вдруг) вам потребуется обработка текста детской книжки (с расставленными ударениями), то корректный алгоритм будет корректным, а "оптимизированный" - облажается. P.S. Как говАривал дедушка Энштейн: "Делайте просто, но не проще, чем нужно". ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 15:49 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Алексей Роза в смысле "сам"? т.е. он непременно должен каждый раз перебирать 127 значений и никак это не изменить? Эмм. Для обычного switch это goto array pointer address. Для такого - же switch, компилятор оптимизирует и преобразует в обычный массив array get index value что сводиться к простой конструкции ArrSwitch[IDX] ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 15:57 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
ВсеРазумный Для обычного switch это goto array pointer address. Ну это в лучшем случае, при хорошем оптимизаторе. А так - да, может быть так что switch обычный будет перебираться пока не найдёт свой собственный элемент конструкцией else-If. Так что вы были не далеки от правды. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 15:59 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Basil A. Sidorov petrav Т.е. вы хотите сказать, что в стандарте Юникода прописано, что после русской буквы "е" допустим диакритический знак, причём именно такой как в этой букве "ё"? Если (вдруг) вам потребуется обработка текста детской книжки (с расставленными ударениями), то корректный алгоритм будет корректным, а "оптимизированный" - облажается. Я так понимаю что полная декомпозиция строки сведётся к следующему: 1. Дважды проанализировать все байты текста в котором мы ищем подстроку. 2. Выделение динамической памяти. 3. Копирование всего текста. А зачем нам для поиска "по Сидорову" вообще делать декомпозицию? Если мы можем алгоритм поиска по utf-8 параметризовать политикой: Код: plaintext 1. 2. 3. 4. 5.
И в один проход, без всякой декомпозиции и копирования, in place найти нужную нам строку? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 16:08 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Если вас смутил тип CharType могу предложить такую политику: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 16:11 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
petrav 1. Дважды проанализировать все байты текста в котором мы ищем подстроку. 2. Выделение динамической памяти. 3. Копирование всего текста. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 16:20 |
|
Очень интересны нюанс с оператором switch
|
|||
---|---|---|---|
#18+
Basil A. Sidorov petrav 1. Дважды проанализировать все байты текста в котором мы ищем подстроку. 2. Выделение динамической памяти. 3. Копирование всего текста. Т.е. вы предлагаете для скорости кешировать результаты полной декомпозиции? Но в таком случае она тем более не нужна, точнее она вообще не нужна. Нам нужна не декомпозиция, а удаление диактретики вообще (й -> и...). И составные символы нам тоже не нужны. И буквой Ё проблем нет. У нас только одна проблема: если на вход нашей программы какой-то пудель нам подсунет результаты полной декомпозиции. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2020, 16:30 |
|
|
start [/forum/topic.php?fid=57&msg=39984337&tid=2017371]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 268ms |
total: | 401ms |
0 / 0 |