Code: Select all
local Start, End = panel.GetCmdLineSelection(nil)
ЗЫ. Все это мелкие неудобства, и обходятся, но может, стоит поменять поведение?
ЗЗЫ. [неверное, лишнее] FAR 3.0.5545 x86, Win10 1903.
Code: Select all
local Start, End = panel.GetCmdLineSelection(nil)
Это выглядит нелогично только при недостаточном опыте в Lua. Start=1 и End=0 обозначают пустой стринг ("") в начале комстроки. А Start=1 в честь того, что в Lua отсчёт с 1.
Думаю, операторы ветвления (if, else, case или elseif - или как они у кого там называются) существуют в подавляющем большинстве языков программирования (в моем алгоритме фактически ничего больше нету). [Мелкая] проблема больше связана с появляющейся "ассиметричностью" Start и End: если значения End достаточно, чтобы понять, что выделения нет, то вот со Start-ом как-то хуже. Но это не критично. Если это не недопродуманность, а стабильная фича, то можно жить и с этим .Shmuel wrote: ↑Wed 15 Jan, 2020 20:50Это выглядит нелогично только при недостаточном опыте в Lua. Start=1 и End=0 обозначают пустой стринг ("") в начале комстроки. А Start=1 в честь того, что в Lua отсчёт с 1.Насчёт неудобства для скриптов - скорее всего от того, что вы пытаетесь что-то делать на Lua как это делается на каком-то другом языке.