The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Нужен совет."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Нужен совет." 
Сообщение от mthawk emailИскать по авторуВ закладки(??) on 02-Май-05, 22:37  (MSK)
Приветсвую многоуважаемый all!
граждане форумляне, нужен умынй совет.
как наиболее рационально построить следующую задачу.
по большому счету как это сделать вообще я знаю - просто интересует именно лаконичность и рациональность исполнения.
Задача.
Отслеживать изменение некой переменной $X с 1 на 0 или наоборот.
Т.е. что бы при некотором проходе цикла $i если переменная $X была 0 а стала 1 присваивать контролирующей переменной $C значение 1 если чем было тем и осталось = 0;
Мое решение:
for ... bla bla bla{
.......
if (SOME_CONDITION) {$X = 1:} else {$X=0;}
.......
if ($oldX ne $X){$C = 1;} else {$C=0;}
......
if (($X eq 1)&&($C eq 1)) {DO_SOME_STUFF;}
......
$oldX = $X
}
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Нужен совет." 
Сообщение от MaximKuznetsov Искать по авторуВ закладки on 03-Май-05, 01:27  (MSK)
безотносительно перл`а,
есть в булевой алгебре такая ИСКЛЮЧАЮЩАЯ ИЛИ (xor или ^, где как)
так вот оно именно это и делает ;-)
... учите основы ;-)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Нужен совет." 
Сообщение от mthawk emailИскать по авторуВ закладки(ok) on 03-Май-05, 02:07  (MSK)
>безотносительно перл`а,
>есть в булевой алгебре такая ИСКЛЮЧАЮЩАЯ ИЛИ (xor или ^, где как)
>
>так вот оно именно это и делает ;-)
>... учите основы ;-)


Лаконично, ничего не скажешь.
Принципы дейсвия оператора xor мне знакомы, но практического приминения его в данном конкретном случае я, увы, не вижу :(

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Нужен совет." 
Сообщение от ACCA Искать по авторуВ закладки(ok) on 03-Май-05, 08:09  (MSK)
Скверно, что ты не можешь найти ответ даже если тебе дали всю методику. Этому научиться сложнее, чем кодировать.


if ($oldX ^ $X) {  # $X has been changed
     DO_SOME_STUFF;
}

$oldX = $X

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Нужен совет." 
Сообщение от mthawk Искать по авторуВ закладки(ok) on 04-Май-05, 15:21  (MSK)
>Скверно, что ты не можешь найти ответ даже если тебе дали всю
>методику. Этому научиться сложнее, чем кодировать.
>
>
>if ($oldX ^ $X) {  # $X has been changed
>     DO_SOME_STUFF;
>}
>
>$oldX = $X

Огромное спасибо. Просто соображалка иногда иногда не видит ответ, когда он совсем рядом....


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Нужен совет." 
Сообщение от Doka Искать по авторуВ закладки(ok) on 05-Май-05, 08:46  (MSK)
>>Скверно, что ты не можешь найти ответ даже если тебе дали всю
>>методику. Этому научиться сложнее, чем кодировать.
>>
>>
>>if ($oldX ^ $X) {  # $X has been changed
>>     DO_SOME_STUFF;
>>}
>>
>>$oldX = $X
>
вообще то разные алгоритмы получились:
1. - при изменении $X 0->1;
2. - при любом изменении $X;


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру