Ликбез по Lua

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Ликбез по Lua

Post by John Doe »

В данной теме задаём вопросы по Lua.

Для того, чтобы получить начальное представление о языке достаточно почитать какую-нибудь короткую обзорную статью, например:
Для более близкого знакомства рекомендую эти документы:
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Re: Ликбез по Lua

Post by John Doe »

Latest post of the previous page:

Спасибо, что-то xor мне тяжело даётся :-)
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Ликбез по Lua

Post by AleXH »

Разыскивается Lua.exe одним файлом, в котором встроенный движок регэкспов заменён на PCRE как в RESearch cavaler.
Shmuel
Posts: 6167
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 330 times

Re: Ликбез по Lua

Post by Shmuel »

AleXH wrote:Разыскивается Lua.exe одним файлом, в котором встроенный движок регэкспов заменён на PCRE
- Файл один, но 32-битная lua5.1.dll ему нужна (можно взять из дистрибутива Фара)
- PCRE есть, но и встроенный движок регекспов Lua на месте
Attachments
lua51x.exe.7z
(122.77 KiB) Downloaded 115 times
User avatar
John Doe
Бюрократ
Posts: 12872
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

Re: Ликбез по Lua

Post by John Doe »

Code: Select all

This is a Lua interpreter with the additional libraries:
    bit      : Lua BitOp
    lpeg     : LPeg 0.10
    rex_pcre : PCRE 8.32 2012-11-30 + Lrexlib 2.6.0 (for PCRE)
    lfs      : LuaFileSystem 1.5.0
    sysutils : sysutils, build Sep 17 2012
lrexlib
Shmuel
Posts: 6167
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 330 times

Re: Ликбез по Lua

Post by Shmuel »

Запустите файл, там выдаётся информация по используемым библиотекам. Все, кроме sysutils, можно найти отдельно в Интернете.

AleXH: из макросов Фар 3 можно использовать встроенную библиотеку regex, она сопоставима с PCRE. Её описание - в luafar_manual.chm.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Ликбез по Lua

Post by Aidar »

Ещё одна страница, обучающая Lua,- в виде lua-скрипта: Learn Lua in 15 Minutes (на английском языке, ссылка от GlukKazan).
gotar
Posts: 327
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times
Been thanked: 1 time

Re: Ликбез по Lua

Post by gotar »

Читаю книгу Programming in Lua, 3 издание, страница 145
Согласно ей

Code: Select all

lm:post _ENV={} a=1 print(a)
в lua 5.2 должен возвращать ошибку. Однако у меня этот код напечатал 1.
С чем это связано?
в фаре lua 5.1
или
я неправильно понял все про _ENV
или
print в Фаре волшебным образом не зависит от _ENV
Shmuel
Posts: 6167
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 330 times

Re: Ликбез по Lua

Post by Shmuel »

gotar wrote:print в Фаре волшебным образом не зависит от _ENV
В Фаре - Lua 5.1, что можно легко выяснить, проверив значение глобальной переменной _VERSION.

Совместимость с LuaJIT 2.0 (а именно он поставляется с Фаром, начиная от 18 мая) перевешивает плюсы перехода на Lua 5.2. Это уже не раз обсуждалось в форуме.

LuaJIT 2.0 поддерживает некоторые фичи Lua 5.2, но только те, что не ломают совместимости с 5.1. Например, работает goto.
Smitis
Posts: 1626
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 20 times
Been thanked: 41 times

Re: Ликбез по Lua

Post by Smitis »

А из lua.exe (который с svn), как я понял, нет доступа к таблице win?
Разум когда-нибудь победит.
Shmuel
Posts: 6167
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 330 times

Re: Ликбез по Lua

Post by Shmuel »

Smitis wrote:А из lua.exe (который с svn), как я понял, нет доступа к таблице win?
http://forum.farmanager.com/viewtopic.p ... 868#p95868
iva
Posts: 126
Joined: Sat 02 Nov, 2013 21:32
Been thanked: 3 times

Re: Ликбез по Lua

Post by iva »

Подскажите, как вывести переменную, являющуюся строкой с русскими буквами. print дает знаки вопроса.
Shmuel
Posts: 6167
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 330 times

Re: Ликбез по Lua

Post by Shmuel »

iva wrote:Подскажите, как вывести переменную, являющуюся строкой с русскими буквами. print дает знаки вопроса.
Вам в другой теме уже сказали: макрофайл должен быть в кодировке UTF-8.
iva
Posts: 126
Joined: Sat 02 Nov, 2013 21:32
Been thanked: 3 times

Re: Ликбез по Lua

Post by iva »

При чем здесь кодировка файла, например
s=io.read(1) print(s)
Если, включена русская раскладка в s читается русская буква, но выводится знак вопроса.
Shmuel
Posts: 6167
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 330 times

Re: Ликбез по Lua

Post by Shmuel »

iva wrote:При чем здесь кодировка файла [......]
А вы научитесь сначала правильно задавать вопросы. Никто не обязан догадываться, каким образом у вас получается не то, что нужно.

lm:post s=io.read(1) print(win.OemToUtf8(s))
iva
Posts: 126
Joined: Sat 02 Nov, 2013 21:32
Been thanked: 3 times

Re: Ликбез по Lua

Post by iva »

Вот спасибо! Это то чего мне не хватало.
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Ликбез по Lua

Post by AleXH »

Shmuel wrote:
AleXH wrote:Разыскивается Lua.exe одним файлом, в котором встроенный движок регэкспов заменён на PCRE
- Файл один, но 32-битная lua5.1.dll ему нужна (можно взять из дистрибутива Фара)
- PCRE есть, но и встроенный движок регекспов Lua на месте
Попробовал так:
1.lua
-----
s0,s1="199","(\d+?)"
_,_,s2=rex_pcre.find(s0,s1)
print(s2)
-----
lua51x.exe 1.lua
nil

Почему не находит? lua5.1.dll взял из 5.1.4.
Post Reply

Return to “Нужна помощь”