|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : vitus@ice.ru 2:5020/400 10 Dec 2001 11:32:14 To : "Alexander Dilevsky" Subject : Re: goto нет в tcl -------------------------------------------------------------------------------- Alexander Dilevsky <dil@cea.ru> wrote: >> Приведи пример своего кода, где тебе хотелось бы юзать goto. AD>К сожалению, я абсолютно не знаю tcl :( AD>Классический пример такого кода - функция, в нескольких местах которой AD>присутствуют проверки нетривиальных условий (которые не влезают в понятие AD>switch), и условный переход в сторону конца функции, перед которым надо AD>выполнить еще пачку действий (например, очистку). Да, это моделируется путем Для этой цели модно применять exception. В tcl это будет выглязеть как set result [catch { кусок кода if {нетривиальное условие} { error } if {другое нетривиальное условие} { break } if {третье нетривиальное условие} { continue } }] switch -- $result { 1 { #TCL_ERROR одна очистка } 2 { #TCL_BREAK другая очистка } 3 { #TCL_CONTINUE третья очистка } } -- Victor Wagner vitus@ice.ru Chief Technical Officer Office:7-(095)-748-53-88 Communiware.Net Home: 7-(095)-135-46-61 http://www.communiware.net http://www.ice.ru/~vitus Отправлено через сервер Talk.Ru - http://www.talk.ru --- ifmail v.2.15dev5 * Origin: Talk.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/6488313e19d9.html, оценка из 5, голосов 10
|