Latest post of the previous page:
Значит как доходит дело до конкретики, сказать нечего? Ни одного примера?
Потому что обсуждается вполне конкретная тема, и другие вопросы на мантисе здесь офтопик.
Нет, конечно. Что мне делать нечего?
Latest post of the previous page:
Значит как доходит дело до конкретики, сказать нечего? Ни одного примера?
Потому что обсуждается вполне конкретная тема, и другие вопросы на мантисе здесь офтопик.
Нет, конечно. Что мне делать нечего?
Хорошо, снижаю порог до полугода. Но не меньше.
Поднимайте вопросы в темах этих пакетов на форуме, а там посмотрим.
последний раз по хорошему прошу не называть некорректной работу чего-то только по той причине, что это работает не так, как ожидали вы. функция работала в полном соответствии с документацией, предсказуемо и понятно. где-то даже код проще был. всё некорректное поведение — исключительно в вашей голове.buniak_a_h wrote: ↑Thu 30 Apr, 2020 16:49Вы, видимо, пользовались некорректным поведением функций библиотеки.
функции должны реализовывать функционал, описанный в документации.buniak_a_h wrote: ↑Thu 30 Apr, 2020 16:49это то, что те функции, которые должны выдавать одинаковый результат, выдавали разный. строка:match("*()$") и строка:len()+1 по определению этого паттерна должны быть равны.
Code: Select all
utf8.Flex_len = function(s)
if ValidUTF8(s) then return rawget('len')(s) else return string.len(s) end
end
Code: Select all
utf8.setmetatable.__index =
function (self, key)
return rawget (self, 'Flex_'..key or key
end,
Реализовать это можно, так же как и многое другое. Другое дело, нужно ли?buniak_a_h wrote: ↑Thu 30 Apr, 2020 20:20 Возможно, я некорректно выразился, но если Вы поняли идею - можно её реализовать?
len
и match
)
Суть в том, что обычная функция подменяется на автоматически переключающаяся между библиотеками utf8 и string в зависимости от первого параметра (строки). И ничего не переделывать А разве нельзя обойтись без задания кода строковым литералом? Вроде ж достаточно литералом задавать имя метода (как у вас и сделано) и обращаться к методу через
[]
.[]
), потом сделал цикл, а чтоб поменьше менять, сделал строку и передавал имя через параметр format. Про то, что доступ к полям таблицы возможен через скобки, просто забыл. Ваш вариант короче и эффективнее (хотя делается это один раз, так что не принципиально ).if not utf8[savedName]
один раз проверяю любую из таких функций. Мелочь, но, насколько я понимаю, при перезагрузке макросов это делается каждый раз.Это было бы здорово.
test="123абв"..win.Uuid()