Forum Webscript.Ru
Программирование => Perl => Тема начата: airishka от 05 Июня 2004, 14:35:45
-
как можно вывести содержимое массива $arr
он хеш
я уже перепробовала несколько способов
(и просто печатать и с перебором фором и с форичем... )
и в ответ получаю или скалярный контекст типа (0x2039630) или вообще ничего, хотя при выводе отдельных элементов проблем нет (print $arr->{\'field\'}).
-
for my $key (keys(%$arr)) {
print(\'The key is: "\'.$key.\'", Value is: "\'.$arr->{$key}."\\"\\n");
}
-
здорово, работает, большое спасибо!
:)
до %$ я правда не додумалась...
-
airishka
как можно вывести содержимое массива $arr
он хеш
Вообще, звучит изумительно ;)
Я, конечно, понимаю, perl разрещает пользоваться стилем программирования "детский лепет". Но всё же посетители данного форума (да и любого другого) обычно менее лояльны и понятливы чем perl.
$arr в данном случае не является массивом. В некоторых случаях для удобства его можно назвать хэшем (но никак не массивом!). Но на самом деле ни тем ни другим он не является. Это - ссылка. В данном случае на хэш.
-
для изумленных:
я перл только изучаю,
и чем хеш не массив? (о ключах не надо)
а к нелояльным и непонятливым я не обращалась
-
airishka
и чем хеш не массив?
Всем! массив это массив, а хеш это хешь!
Я бы на вашем месте, коль уж вы только начинаете... ознакомился бы с терминологией...
-
airishka
и чем хеш не массив?
Ну хотя бы их внутренним представлением, которое сказывается и на внешнем - неупорядоченностью элементов.
Полагаю, ты имеешь опыт общения с языками менее типизированными типа PHP, JavaScript и т.д.?
-
и чего спрашивается набросились на человека? Спросила, все все поняли, ответили. Нет теперь надо было поднять тему из-за какой-то там терминологии. :)
-
AnnA
Не, я, конечно, тоже номиналист, но всё же считаю что конкретные (в отличие от абстрактных, неформализованных) понятия всё же стоит называть своими именами. Хотя бы для того чтобы вас поняли.
-
commander:
Всем! массив это массив, а хеш это хешь!
ну что ж тут непонятного... все ясно
to metton:
с языками так и есть, на данный момент.