View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003748 | Wishes.Plugins | LuaMacro / Macro Browser | public | 2019-10-21 10:55 | 2019-11-01 11:54 |
Reporter | JohnDoe | Assigned To | shmuel | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Platform | x86 | OS | Windows | OS Version | XP SP3 |
Summary | 0003748: Panel.Item: возвращаемое значение при некорректных параметрах | ||||
Description | В настоящий момент при некорректных параметрах (в частности itemIdx) или других исключительных случаях функция возвращает 0 (или false для Property==8). Эти же значения могут быть возвращены и в штатных ситуациях. Предлагаю в невалидных ситуациях возвращать nil. | ||||
Additional Information | https://api.farmanager.com/ru/macro/macrocmd/prop_func/panels.html#panel.item | ||||
Tags | No tags attached. | ||||
|
> В настоящий момент при некорректных параметрах (в частности itemIdx) функция возвращает false. Мне кажется, в этом случае возвращается 0. |
|
Действительно, для string и number - 0. А для boolean - false Тем более стоит упорядочить. |
|
Стоит может быть и стоит, но ничего не сломано сейчас, по сравнению с тем, что было. То, что для boolean - false, это не отличается от случаев, когда для number - 0. Если для несуществующего элемента спросить, выбран ли он (свойство 8), ответ будет, что не выбран. Раньше, когда возвращался 0, это было проблемой, потому что if 0 равносильно if true. |
|
> В настоящий момент при некорректных параметрах (в частности itemIdx) функция возвращает false. > Однако false также является валидным значением для Property=8. Если не сложно, приведите Description в соответствие с реальностью. Я бы мог это сделать сам, но предпочтительнее, если это сделает автор тикета. |
|
Если затрудняетесь сформулировать, предлагаю следующий текст:
|
|
А может быть правильнее будет прерывать макрос ошибкой? Дело в том, что большинство макрописателей не будет делать 2 проверки, а ограничатся анализом возвращаемой величины по её смыслу. И тут начинаются нежелательные сценарии: 1) проверки == или ~= дадут с вероятностью 50% неправильный результат 2) проверки >, <, >=, <= приведут к невразумительной ошибке типа "попытка сравнить число и nil". Если мы будем прерываать скрипт ошибкой, то сможем сделать её текст вразумительным. |
|
> 2) проверки >, <, >=, <= приведут к невразумительной ошибке типа "попытка сравнить число и nil". Большинство ошибок они именно такие) Открыл исходних, открыл мануал, и после этого всё уразумел. > А может быть правильнее будет прерывать макрос ошибкой? Поддерживаю. |
|
5502. |
|
@JohnDoe, 1) вы не хотели бы посмотреть тексты новых сообщений об ошибках и прокомментировать или предложить улучшения? Эти места легко найти в файле macro.cpp, если дать на поиск "PassError". 2) Нужна ли для этих строк локализация, или и так сойдёт? |
|
1. - No panel selected - что-то не соображу какие случаи охватывает. - Unsupported panel type - возможно удобней было бы видеть а какие же (не)поддерживаемые, т.е. указать либо те, либо другие. - Operation not supported - только если операция за пределами 0..23? 2. Сообщения Lua не локализованы, и вроде бы никто не жалуется. Полагаю сойдёт. |
|
> Operation not supported - только если операция за пределами 0..23? И ещё 22. |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-10-21 10:55 | JohnDoe | New Issue | |
2019-10-21 11:01 | shmuel | Note Added: 0016622 | |
2019-10-21 11:57 | JohnDoe | Note Added: 0016623 | |
2019-10-21 12:05 | shmuel | Note Added: 0016624 | |
2019-10-22 16:48 | shmuel | Note Added: 0016625 | |
2019-10-22 18:21 | shmuel | Note Added: 0016626 | |
2019-10-23 12:20 | JohnDoe | Description Updated | |
2019-10-28 18:33 | shmuel | Note Added: 0016636 | |
2019-10-28 18:34 | shmuel | Note Edited: 0016636 | |
2019-10-30 11:04 | JohnDoe | Note Added: 0016637 | |
2019-10-30 20:37 | shmuel | Assigned To | => shmuel |
2019-10-30 20:37 | shmuel | Status | new => feedback |
2019-10-30 20:37 | shmuel | Note Added: 0016638 | |
2019-10-31 10:25 | JohnDoe | Status | feedback => resolved |
2019-10-31 13:29 | shmuel | Note Added: 0016639 | |
2019-10-31 13:45 | shmuel | Note Edited: 0016639 | |
2019-11-01 11:35 | JohnDoe | Note Added: 0016640 | |
2019-11-01 11:54 | shmuel | Status | resolved => closed |
2019-11-01 11:54 | shmuel | Resolution | open => fixed |
2019-11-01 11:54 | shmuel | Note Added: 0016641 |