Избавиться от дублирования в LuaMacro

Здесь обсуждается всё, что касается макросов.
User avatar
SUSim
Posts: 1531
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 8 times

Избавиться от дублирования в LuaMacro

Post by SUSim » Sat 06 Oct, 2012 11:05

Планируется ли сокращение тех макрофункций фара, которые есть в lua?
типа mf.env == win.GetEnv

Примечание модератора:
Смежная тема: LuaMacro: «надо определиться куда это всё катится»
Update: Лишние функции macro api
Last edited by John Doe on Sat 12 Nov, 2016 14:13, edited 1 time in total.

Shmuel
Posts: 5867
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 215 times

Re: Идея о замене макроязыка Фара на Lua, JavaScript и т.п.

Post by Shmuel » Sat 06 Oct, 2012 11:11

SUSim wrote:Планируется ли сокращение тех макрофункций фара, которые есть в lua?
типа mf.env == win.GetEnv
Разговор об этом был, типа "надо бы убрать всё лишнее", но конкретного решения пока нет.

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

Избавиться от дублирования в LuaMacro

Post by John Doe » Thu 24 Jan, 2013 10:57

Глядя на список функций mf.* возникает впечатление, что большая их часть должна существовать в стандартных библиотеках Lua.
А значит, стоит избавиться от дублирования.

Я пока не владею Lua, но в процессе изучения предпочёл бы использовать нечто стандартное, а не привыкать к фаровской реализации.
Может ли кто-то для начала составить список соответствия?

Shmuel
Posts: 5867
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 215 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel » Thu 24 Jan, 2013 11:06

Впечатление правильное, но избавиться от дублирования - значит поломать многие существующие макросы. Если большинство с этим согласно, можно было бы потихоньку начинать.

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

Re: Spring — внедрение Lua в качестве макроязыка

Post by John Doe » Thu 24 Jan, 2013 11:12

Думаю ломать сразу не надо.
Лучше дать время на переход, чтобы можно было откорректировать макросы постепенно.

А сейчас надо дать список рекомендованных замен. Update: http://forum.farmanager.com/viewtopic.php?f=15&t=8635
Может кто со временем конвертер напишет (или допишет имеющийся)

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

Re: FAR вешается макрокоммандой

Post by John Doe » Sun 03 Feb, 2013 12:34

Тигрёнок wrote:Теперь вместо страшного-престрашного Panel.JumpToSelectedFile.lua можно использовать весьма компактный код
А вот это серьёзный вопрос, как лучше.

Сейчас в макросах можно использовать не только прежний макроязык (macroapi), но и far API (luafar).
Поэтому одну и ту же задачу можно решить по-разному.
И до сих пор не обсуждалось, какой из способов предпочтительнее.
Официальной позиции похоже нет, проскользнуло только, что не стоит использовать луа как псевдомакроязык.

Многие функции практически дублируются.

P.S.
Panel.JumpToSelectedFile.lua мне тоже не кажется неудачным (функцию JumpToSelectedFile() вероятно следовало сделать по подобию panel.setposidx())

User avatar
Тигрёнок
Posts: 390
Joined: Wed 03 May, 2006 06:07
Location: Россия
Contact:

Re: FAR вешается макрокоммандой

Post by Тигрёнок » Sun 03 Feb, 2013 12:44

John Doe wrote:Официальной позиции похоже нет, проскользнуло только, что не стоит использовать луа как псевдомакроязык.
Я и когда видел этот пост, не понял, что имелось в виду, и сейчас не понимаю. Что такое "псевдомакроязык"?
Съешь мыша – стань настоящим клавишником!

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

Re: FAR вешается макрокоммандой

Post by John Doe » Sun 03 Feb, 2013 12:48

Вопрос к zg.
Возможно в отрыве от контекста это ничего не значит.

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

FAR вешается макрокоммандой

Post by John Doe » Sun 03 Feb, 2013 13:01

Вот ещё мнение:
Shmuel wrote:Согласен, что имеет место большой перехлёст функциональности, но он как бы места не занимает и не вредит.
Я понимаю, что будучи вырванной из контекста, цитата скорее всего не отражает реальную позицию автора.
Но факт есть, и я лично считаю что большой перехлёст хоть и не занимает, но явно вредит.

Хотелось бы узнать официальное мнение авторов.

Shmuel
Posts: 5867
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 215 times

Re: FAR вешается макрокоммандой

Post by Shmuel » Sun 03 Feb, 2013 17:35

John Doe wrote:Хотелось бы узнать официальное мнение авторов.
Моё мнение (неофициальное), что надо было бы навести порядок. Но безболезненно это не получится, то-есть макросы у людей поломаются.

Smitis
Posts: 1592
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 18 times
Been thanked: 35 times

Re: FAR вешается макрокоммандой

Post by Smitis » Sun 03 Feb, 2013 17:59

Shmuel wrote:Моё мнение (неофициальное), что надо было бы навести порядок. Но безболезненно это не получится, то-есть макросы у людей поломаются.
И фиг с ним, что макросы поломаются. Лучше сделать это сейчас, пока ещё идёт переход на ФАР3. Потом будет ещё болезненей (и, скорее всего, не осуществится никогда).
Разум когда-нибудь победит.

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

Re: FAR вешается макрокоммандой

Post by Max Rusov » Sun 03 Feb, 2013 18:38

Не надо ничего ломать.

User avatar
Тигрёнок
Posts: 390
Joined: Wed 03 May, 2006 06:07
Location: Россия
Contact:

Re: FAR вешается макрокоммандой

Post by Тигрёнок » Sun 03 Feb, 2013 18:42

Shmuel wrote:Моё мнение (неофициальное), что надо было бы навести порядок.
Вы не могли бы для начала объяснить, какую часть того, что есть сейчас, хотите отломать.
Shmuel wrote:Но безболезненно это не получится, то-есть макросы у людей поломаются.
А нельзя ли то, что предполагается отломать, эмулировать средствами того, что останется? И безболезненно будет, и юзверям будет пример, что и через что следует делать...
Съешь мыша – стань настоящим клавишником!

Shmuel
Posts: 5867
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 215 times

Re: FAR вешается макрокоммандой

Post by Shmuel » Sun 03 Feb, 2013 19:08

Тигрёнок wrote:Вы не могли бы для начала объяснить, какую часть того, что есть сейчас, хотите отломать.
Больше половины функций mf.* или имеют прямую замену в Lua/LuaFAR или эквивалентную.
Тигрёнок wrote:А нельзя ли то, что предполагается отломать, эмулировать средствами того, что останется? И безболезненно будет, и юзверям будет пример, что и через что следует делать...
Можно, но это оставляет всю избыточность на месте (то, с чего начался этот разговор).

User avatar
Тигрёнок
Posts: 390
Joined: Wed 03 May, 2006 06:07
Location: Россия
Contact:

Re: FAR вешается макрокоммандой

Post by Тигрёнок » Sun 03 Feb, 2013 19:14

Shmuel wrote:Больше половины функций mf.* или имеют прямую замену в Lua/LuaFAR или эквивалентную.
Вот только теперь я понял, о чём речь...
Shmuel wrote:
Тигрёнок wrote:А нельзя ли то, что предполагается отломать, эмулировать средствами того, что останется? И безболезненно будет, и юзверям будет пример, что и через что следует делать...
Можно, но это оставляет всю избыточность на месте (то, с чего начался этот разговор).
Нет, не оставляет. FAR будет передавать макросам вполне сбалансированный набор функций. А то, что на его базе будет написана библиотека функций mf.*, – не страшно. Мало ли кто какие библиотеки творит. Кому не нравится – не юзают.
Съешь мыша – стань настоящим клавишником!

User avatar
zg
zero-gravity
Posts: 5585
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 91 times
Contact:

Re: FAR вешается макрокоммандой

Post by zg » Wed 06 Feb, 2013 03:57

John Doe wrote:Вопрос к zg.
Возможно в отрыве от контекста это ничего не значит.
имелось ввиду следующее. есть две группы функций, с помощью которых макрос может использовать функционал фара:
1. то что описано в luafar_manual.chm.
2. то что описано в macroapi_manual.chm.
апи-1 базируется на плагиновом апи, обладает некоторой логичностью, и на мой субъективный взгляд код с его использованием имеет более эстетичный вид и лучшую читаемость.
апи-2 это практически полная копия функций из старого макро языка со всеми его недостатками, главный из которых отсутствие всякой логики.

моё мнение, что ломать что-то уже позно, надо просто заморозить апи-2 и в будущем исправлять в нём только ошибки. также со временем добавить в апи-1 всё чего там не хватает и сделать наличие api.lua опциональным.

Post Reply

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