Юникод в LuaFAR
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Юникод в LuaFAR
Из другой области вопрос есть. Встроенные строки в Луа юникодные?
Примечание модератора: http://lua-users.org/wiki/LuaUnicode
Примечание модератора: http://lua-users.org/wiki/LuaUnicode
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Spring — внедрение Lua в качестве макроязыка
Строки в Lua не имеют атрибута кодовой страницы или юникодности. Это просто последовательность байтов, каждый из которых может быть и нулевым. То-есть Lua-строки могут содержать как текст в любой кодировке, так и бинарные данные.NightRoman wrote:Из другой области вопрос есть. Встроенные строки в Луа юникодные?
Что же касается LuaFAR'а (а теперь и макросов), то нужно иметь в виду, что кодировка - UTF-8.
LuaFAR, используя встроенную библиотеку Selene Unicode, поддерживает операции с текстом в UTF-8.
Более подробно можно прочитать в мануалах Lua и LuaFAR.
Last edited by John Doe on Sat 16 Jan, 2021 15:08, edited 1 time in total.
- Aidar
- Posts: 541
- Joined: Mon 09 Mar, 2009 22:43
- Location: Kazan
- Has thanked: 8 times
- Been thanked: 7 times
- Contact:
Re: Spring — внедрение Lua в качестве макроязыка
Уточнение: Для этого вызовы стандартных функций обработки строк должны быть оформлены так:Shmuel wrote:...LuaFAR, используя встроенную библиотеку Selene Unicode, поддерживает операции с текстом в UTF-8...
Code: Select all
-- s - строка
s:len()
s:gsub(' ', '-')
Re: Spring — внедрение Lua в качестве макроязыка
Означает ли это, что для строки, содержащей "нелатиницу" в макросах len(s) != s:len()?Aidar wrote:Уточнение: Для этого вызовы стандартных функций обработки строк должны быть оформлены так:Code: Select all
-- s - строка s:len() s:gsub(' ', '-')
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
- Aidar
- Posts: 541
- Joined: Mon 09 Mar, 2009 22:43
- Location: Kazan
- Has thanked: 8 times
- Been thanked: 7 times
- Contact:
Re: Spring — внедрение Lua в качестве макроязыка
Т.к. len - макро-функция, скорее всего, она реализована через функцию unicode.utf8.len.Skirda wrote:Означает ли это, что для строки, содержащей "нелатиницу" в макросах len(s) != s:len()?
Я имел в виду, что
string.len(s) != s:len()
unicode.utf8.len(s) == s:len()
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Re: Spring — внедрение Lua в качестве макроязыка
Aidar, ты отвечаешь так, как будто спрашивающие уже имеют опыт на Lua.
Ответ простой: s:len() даст тот же результат, что и макрофункция mf.len(s).
Ответ простой: s:len() даст тот же результат, что и макрофункция mf.len(s).
Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.
NightRoman, кстати, макрос на lua отлично справился запуском внешней проги без доступа к комстроке да и вообще без доступа к области shell.
из модального редактора я запустил копирование файла (бакап типа сделал) - lua команда os.execute.
из модального редактора я запустил копирование файла (бакап типа сделал) - lua команда os.execute.
SimSU ··· ·· -- ··· ··-
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.
У os.execute могут быть проблемы с юникодными именами (не пробовал, но подозреваю).SUSim wrote:из модального редактора я запустил копирование файла (бакап типа сделал) - lua команда os.execute.
Для копирования лучше использовать win.CopyFile.
Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.
тогда win.ShellExecute лучше os.execute?
почему то в Lua_5_1_Man.chm не нашел описание win библиотеки, дайте плиз ссылку на русском.
простой самоучитель LUA http://zserge.wordpress.com/2012/02/23/lua-за-60-минут/
почему то в Lua_5_1_Man.chm не нашел описание win библиотеки, дайте плиз ссылку на русском.
простой самоучитель LUA http://zserge.wordpress.com/2012/02/23/lua-за-60-минут/
SimSU ··· ·· -- ··· ··-
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.
win.ShellExecute - не лучше и не хуже, но он юникодный.SUSim wrote:тогда win.ShellExecute лучше os.execute?
почему то в Lua_5_1_Man.chm не нашел описание win библиотеки, дайте плиз ссылку на русском.
Но для копирования файлов используйте win.CopyFile
Ссылка на мануал библиотеки LuaFAR (не на русском): https://github.com/shmuz/Spring/downloads
Re: Spring — внедрение Lua в качестве макроязыка
string. в lua тоже не юникодные?
и шаблоны это как-то не регэкспы? хотя в фармакросах и такого не было
всё таки, раздел про обсуждение самого языка lua нужен!
и шаблоны это как-то не регэкспы? хотя в фармакросах и такого не было
всё таки, раздел про обсуждение самого языка lua нужен!
SimSU ··· ·· -- ··· ··-
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Re: Spring — внедрение Lua в качестве макроязыка
Эти вопросы уже задавались: http://forum.farmanager.com/viewtopic.p ... 381#p98381SUSim wrote:string. в lua тоже не юникодные?
и шаблоны это как-то не регэкспы? хотя в фармакросах и такого не было
Re: Spring — внедрение Lua в качестве макроязыка
со вторым вопросом (про регэкспы) понятно!Shmuel wrote:Эти вопросы уже задавались: http://forum.farmanager.com/viewtopic.p ... 381#p98381
а вот с первым не совсем... я спрашивал не про строки а про библиотеку string.
SimSU ··· ·· -- ··· ··-
- Aidar
- Posts: 541
- Joined: Mon 09 Mar, 2009 22:43
- Location: Kazan
- Has thanked: 8 times
- Been thanked: 7 times
- Contact:
Re: Spring — внедрение Lua в качестве макроязыка
В LuaFAR string оставлена как есть в lua, для utf8 используется unicode.utf8.SUSim wrote:... я спрашивал не про строки а про библиотеку string.