Вероятно, самая подробная и всесторонняя статья на this
такова:
Нежное объяснение ключевого слова этого «this» в JavaScript
Идея позади this
заключается в понимании того, что типы вызова функции имеют важное значение при установке значения this
.
Когда возникают проблемы с идентификацией this
, не спрашивайте себя:
Где
blockquote>this
взято из ?, но спросите себя:
Как вызывается функция ?
blockquote>arrow function (специальный случай прозрачности контекста) спросите себя:
Какое значение имеет
blockquote>this
, где определена функция стрелки ?Этот настрой правилен при работе с
this
и избавит вас от головной боли.
- символ юникода, который он использует для замены «неизвестного, неузнаваемого или непредставимого символа». Итак, в основном, юникод string.reverse()
не распознает эти символы в конце, поэтому он заменяет их символом..
Я не делал много шума в Lua с неанглийскими символами , но я бы предложил просмотреть страницу библиотеки Lua Unicode или посмотреть в этот модуль , который обеспечивает поддержку UTF-8 для Lua и LuaJIT. Наконец, этот вопрос Stack Overflow имеет хорошее объяснение того, как работает поддержка Lua для Unicode. В противном случае вам просто нужно сделать свою собственную обратную функцию, сохранив каждый символ в массиве и затем изменив порядок массива, прежде чем окончательно скомпилировать их обратно в строку.
Надеюсь, это полезно!
string.reverse
отмените байты в строке, не обязательно ее символы , если строка содержит текст, закодированный с использованием многобайтовой кодировки, такой как UTF-8.