Все давно решилось! Женя, спасибо за желание помочь !
Цитата(JackYF @ 21.5.2010, 22:46 ) | | Что-то я не понимаю, как в таком случае организовать циклический проход. |
Очень просто .
Будем использовать замену (s///). Заменяющую строку строим с помощью многократной конкатенации. Идейно возможны две ситуации при просмотре входной строки:- видим сумму (например, "3+6-3+4") - конкатенация результирующей строки с eval("3+6-3+4");
- видим не сумму (например, "34-" или "Привет") - конкатенация результирующей строки с тем, что видим).
Эти две ситуации разграничиваются с помощью "ИЛИ":
| Код | (1-ая ситуация) | (2-ая ситуация)
|
Описание каждой ситуации включает блок if и операцию (конкатенацию), которая выполняется при положительной проверке. Ну и, наконец, все это заключается под * (чтобы выполнялось до тех пор, пока строка не кончится).
Все ! |