(PERL) О синтаксисе. In place variable declaration

Danissimo
Дата: 04.09.2006 17:27:46
Пример:

my %x = ...;
while (my($key, $value) = each(%x)) ...

Здесь переменные $key и $value одновременно объявляются и инициализируются. Другой пример:

use Getopt::Std;
getopts("...", my $x = {});
print $x->{'A'};

Здесь то же самое -- объявляется и инициализируется переменная $x -- за исключением того, что значение перемнной тут же передается в функцию.

Внимание, вопрос! Можно ли 2-ю и 3-ю строчки следующиего кода как-нть объдинить:

use Getopt::Std;
my %x;
getopts("...", \%x);
print $x{'A'};

Если да, то как?
Black
Дата: 05.09.2006 10:37:47
ИМХО следует соблюдать стиль программирования, где четко и ясно видна область видимости ...
Danissimo
Дата: 05.09.2006 16:19:49
Честно говоря, не понял. Я с перлом знаком 5 минут всего лишь. Так что каков стиль, тоже не знаю.

В любом случае вопрос остается открытым, так как ответа на поставленный вопрос пока не было.
g613
Дата: 05.09.2006 16:24:33
Danissimo
Честно говоря, не понял. Я с перлом знаком 5 минут всего лишь. Так что каков стиль, тоже не знаю.

В любом случае вопрос остается открытым, так как ответа на поставленный вопрос пока не было.


...чтобы правильно задать вопрос, надо знать минимум половину ответа на него (c) не мой...

можно ли объединить... сильно зависит от того что ты хочеш получить...

ну и, для расширения кругозора так сказать: perldoc perlsyn
Black
Дата: 05.09.2006 16:28:46
use Getopt::Std; 
getopts("...", my $x = {}); 
print $x->{'A'}; 
Врядли кто назовет этот код читабельным, а все из-за того, что Perl позволяет творить все что хочешь ... в JAVA Вы никогда бы не смастерили такую конструкцию ...

ответ на Ваш вопрос, мне кажется, нет ( по крайне мере, в книжках я такого не встречал )
Anjey aka PM
Дата: 06.09.2006 11:15:08
Николай aka Motodor
Врядли кто назовет этот код читабельным, а все из-за того, что Perl позволяет творить все что хочешь ... в JAVA Вы никогда бы не смастерили такую конструкцию ...

ответ на Ваш вопрос, мне кажется, нет ( по крайне мере, в книжках я такого не встречал )


http://dev.perl.org/perl6/faq.html#___top
Complaining that Perl is "noisy" is like complaining that English is "wordy": all those confusing pronouns and gerunds and prepositions and conjunctive adverbs, etc. making it hard to read.