Ошибка в unicode.utf-8.match ?

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 1921
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Latest post of the previous page:

Shmuel wrote:
Thu 10 Oct, 2019 11:47
Поверьте, я знаю, о чём пишу.
Я там добавил доказательство, что это - именно баг.
buniak_a_h wrote:
Thu 10 Oct, 2019 11:37
lua:=('яz'):match".*()$" == ('яя'):match".*()$"
Как Вы понимаете, результат определения позиции никак не может зависеть от конкретных символов, если их количество не изменилось. И писал, что проверил на версии 5400, а это значит, что ошибка просуществовала не 1-2 дня, и не менее 48-ми ночных сборок.

Shmuel
Posts: 6144
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 318 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by Shmuel »

buniak_a_h wrote:
Thu 10 Oct, 2019 11:52
Как Вы понимаете, результат определения позиции никак не может зависеть от конкретных символов, если их количество не изменилось.
Если позиция выражена в байтах, а не в символах, то она как раз зависит от конкретных символов, что и показывает ваш пример. А выражение позиций в байтах, как уже сказано выше, есть документированная фича библиотеки Selene Unicode.

buniak_a_h
Posts: 1921
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Я привёл пример на языке Lua.
(а) там нет упоминания Selene Unicode (с которой я вообще не обязан быть знаком)
(б) как пишущий на языке я рассчитываю на адекватную интерпретацию выражения.
(в) выражение "яz" = это не массив байтов, а строка. И получить место позиции символа позиция байта во внутреннем представлении этой строки - это нонсенс.
Отсюда следует, что при вычислении этого выражения используется неправильная библиотека. Если потребуется именно байты, то есть соответствующая string.byte, возвращающая именно массив байтов (не проверял, но надеюсь).
К счастью, моя точка зрения принята, библиотека заменена (ну или как-то по-другому глюк исправлен). Жаль, что версия не застабилизирована.
На сем предлагаю дискуссию, не относящуюся к "теме темы" закончить. предупреждение в первое сообщение я добавил.

User avatar
John Doe
Бюрократ
Posts: 12831
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by John Doe »

buniak_a_h wrote:
Thu 10 Oct, 2019 12:20
Я привёл пример на языке Lua.
...
В самом "языке Lua" нет множества функций, которые вы используете в этом скрипте. И?
Очевидно что документация не исчерпывается мануалом Lua.
buniak_a_h wrote:
Thu 10 Oct, 2019 12:20
На сем предлагаю дискуссию, не относящуюся к "теме темы" закончить.
Можете не отвечать.

Post Reply

Return to “Обсуждение макросов”