Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     08 Oct 2002  18:02:33
 To : "Michael Spector"
 Subject : Re: где ошибка?
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Michael Spector.
 
  DS>>>> welcome to hell, Hаpод _/:/_)
 
  DS>>>> unlink("$dst/$_") foreach(@modules) if (lc($ARGV[1]) eq '-d');
 
  MS>>> Skazhi, zachem tak izvrashatsya ? Ili vy prohodite konkurs na samuju
  MS>>> korotkuju programmu ?
 
  AC>> Естественное навешивание if на короткую команду. А что она при этом сама
  AC>> цикл, ну и что? Другое дело, что синтаксис именно такого фокуса не
  AC>> позволяет.
 
 MS>  А зачем такой изврат ? Просто обьясните, а то я не понимаю :(
 MS> Мне кажется понятней так:
 MS> if(lc($ARGV[1]) eq '-d'){
 MS>   foreach $module (@modules){
 MS>     unlink("$dst/$module");
 MS>   }
 MS> }
 
 Разница между "если будет дождь, то мы туда не пойдем" и "мы туда не пойдем,
 если будет дождь". Просто для цикла с телом и условием по два десятка символов
 городить блок на три строки - только код загромождать. Другое дело, что когда
 к этому добавляется еще if с условием на два десятка символов, то в одну
 строчку это будет громоздко. Да и естественный язык, по которому
 моделировались эти постфиксные операторы, таких фокусов не очень позволяет
 ("мы будем ходить вокруг дома, пока не откроют дверь, если будет дождь").
 Поэтому подобный код оптимально было бы писать
 
 if (lc($ARGV[1]) eq '-d') {
   unlink("$dst/$module") foreach $module (@modules);
 }
 
 ("если будет дождь, то мы будем ходить вокруг дома, пока не откроют дверь").
 
 -- 
 Artem Chuprina
 Communiware.net
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 где ошибка?   Dmitry Suhodoev   05 Oct 2002 21:18:45 
 где ошибка?   Bulat Ziganshin   05 Oct 2002 20:47:52 
 где ошибка?   Ivan Frolcov   05 Oct 2002 21:07:32 
 Re: где ошибка?   vilfred   07 Oct 2002 18:36:40 
 где ошибка?   Michael Spector   07 Oct 2002 18:45:22 
 Re: где ошибка?   Artem Chuprina   07 Oct 2002 19:19:02 
 Re: где ошибка?   Michael Spector   08 Oct 2002 13:38:35 
 Re: где ошибка?   Artem Chuprina   08 Oct 2002 18:02:33 
Архивное /ru.perl/144546c488b80.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional