Автор Тема: Кто-нибудь может объяснить?  (Прочитано 4681 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Кто-нибудь может объяснить?
« : 17 Ноября 2006, 21:11:38 »
> perl -e \'print ($i = 1, $i = 2, $i = 3, "\\n")\'
333
>

???

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
Кто-нибудь может объяснить?
« Ответ #1 : 17 Ноября 2006, 23:30:29 »
что именно непонятно?
попробуйте perl -le \'print $i = 1, $i = 2, $i = 3,"\\n",$i\'

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Кто-нибудь может объяснить?
« Ответ #2 : 20 Ноября 2006, 15:52:41 »
arto
Ну и что? результат:
333
3

А я, как бы, предполагаю:
123
3

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
Кто-нибудь может объяснить?
« Ответ #3 : 20 Ноября 2006, 15:58:06 »
уф.
попробуйте словами описать, что делается, и, возможно, вы поймете что происходит.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Кто-нибудь может объяснить?
« Ответ #4 : 20 Ноября 2006, 16:50:35 »
arto
Результатом операции приравнивания должен быть значение справа от знака равенства...

my $i;
print $i = 0;
print $i = 1;
print $i = 2;

Выдаст:

012

Но в списочном контенте, почему-то все результаты равенства становятся равным последнему элементу...

Вопрос: почему так?

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
Кто-нибудь может объяснить?
« Ответ #5 : 20 Ноября 2006, 18:59:35 »
сначала выполняется список, и $i == 3, потом печатается три раза.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Кто-нибудь может объяснить?
« Ответ #6 : 21 Ноября 2006, 14:27:15 »
arto
Умно... что он делает и так понятно...
Он должен последовательно обрабатывать список и выдавать соответствующие значения для элемента списка, но он это не делает...
Вопрос: почему?

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
Кто-нибудь может объяснить?
« Ответ #7 : 21 Ноября 2006, 15:12:24 »
еще раз, он сначала вычисляет список.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Кто-нибудь может объяснить?
« Ответ #8 : 21 Ноября 2006, 18:39:01 »
arto
Ну и что? причем здесь вычисление и то, что он возвращает

На самом деле нет... уже разобрались, так и должно быть...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28