Отправляет email-рассылки с помощью сервиса Sendsay

[TC] Аналог switch в скриптах jaws

Здравствуйте, господа подписчики.

Как решается проблема выбора действия в зависимости от входных данных? в
цивилизованных языках для этого придусмотрен оператор switch. Есть ли
какая-нибудь приемлимая альтернатива в JFWScripts? Не писать же функцию с
350 ифами...

Ответить   Игорь Лялин Tue, 22 Feb 2011 22:06:07 +0300 (#1433928)

 

Ответы:

Привет Игорь!
ц
Как решается проблема выбора действия в зависимости от входных данных? в
цивилизованных языках для этого придусмотрен оператор switch. Есть ли
какая-нибудь приемлимая альтернатива в JFWScripts? Не писать же функцию с
350 ифами...
ну почему обязательно ифами,
можно
Elif
(улыбка)
вообще похоже чего то подобного в JAWS не припомню.
зато эту функцию можно написать самому,

Виктор

Ответить   Tue, 22 Feb 2011 23:08:28 +0300 (#1434005)

 

Здравствуйте.

Не знаю конкретной задачи, но, возможно, вам чем-нибудь помогут функции
dlgSelectFunctionToRun, DlgSelectScriptToRun и DlgSelectItemInList.
Посмотрите, может обойдётесь и ими, а так, скорей всего, switch придётся
писать самому. :)

Ответить   Wed, 23 Feb 2011 00:02:35 +0300 (#1434042)

 

Vande omentaina, Walked past!
А правду говорят, что в Питончеге тоже свича нету? И как они тогда
выкручиваются?)

--
Tenn' omentielva enta. Menelion Elensule.
http://oire.org/ - Фэнтези-блоги Oire
Skype: Francophile Facebook: http://facebook.com/menelion
Twitter: http://twitter.com/m_elensule

Ответить   Tue, 22 Feb 2011 23:40:44 +0200 (#1434083)

 

Здравствуйте.

Чистейшая правда.

Ну, например, как-нибудь так:
if ... elif ... elif ...
Но стибаться над Python'ом не буду, так как не считаю себя достаточно
квалифицированным в этом вопросе. Возможно там всё можно решить ещё более
красиво, чем в тех же C'ах, просто я об этом не знаю. :)

Ответить   Wed, 23 Feb 2011 01:32:43 +0300 (#1434119)

 

Доброго времени суток.

Из сообщения от 23.02.2011 1:19:

Или, например, используя словарь, так:

{'option1': function1,
'option2': function2,
'option3': function3,
'option4': function4}[value]()

Смысл в том, что пишучи на python "говорят"
именно на этом языке, т. е. с использованием
его языковых конструкций / типов данных,
а не калькируя с других языков.

С уважением, Руслан Усачев

Ответить   Wed, 23 Feb 2011 11:20:58 +0200 (#1434770)

 

Доброго времени суток, Игорь.

Из сообщения от 22.02.2011 21:07:

Языковые средства jaws scripts не предоставляют
для организации управления последовательностью выполнения кода
ничего, кроме
if...elIf...else...endIf;
while...endWhile;
return

Как, впрочем, не писать же switch с 350 ветками...

Таким образом, проблема не в отсутствии оператора switch в jaws script,
а в выборе более оптимального алгоритма решения задачи.

С уважением, Руслан Усачев

Ответить   Wed, 23 Feb 2011 10:21:03 +0200 (#1434648)