2006-12-26


Очень красивое решение перловой задачи


Мне нужно создать reference на некий хэш, в котором много keys, но мало values. Как бы это по-компактнее записать? Не хочется писать что-то вроде

my $myHash = { key1 => 1,
key2 => 1,
key3 => 1,
...
key154 => 0,
key155 => 0
};



Решение

my $hash = {
map {$_ => 1} qw/one two three/,
map {$_ => 0} qw/four five six/,
};



Достойно восхищения
Респект

2 комментария:

ccn комментирует...

Это решение делает не то, что вам хотелось бы.

cub-uanic комментирует...

Вероятно вы имеете ввиду скобки?
Ну так не вопрос:

my $hash = {
(map {$_ => 1} qw/one two three/),
(map {$_ => 0} qw/four five six/),
};

Просто был оставлен оригинальный текст, как у автора решения. Уверен, что любой, кому это надо на практике - про скобки и сам догадается. Не все ж готовенькое на блюдечке приносить.