Овощи-фрукты... Хэш хэшей
Apr. 29th, 2005 01:14 pm0. Почему-то когда надо придумать первые попавшиеся три строки для тестирования чего-либо, вспоминаются apple, banana и cucumber...
1. Двумерный хэш:
#!/usr/bin/perl
# Хэш хэшей
%fruit =
(
'apple' =>
{ 'color' => 'red', 'form' => 'ball', 'softness' => 'hard' },
'banana' =>
{ 'color' => 'yellow', 'form' => 'cylinder', 'softness' => 'soft'},
'cucumber' =>
{'color' => 'green', 'form' => 'cylinder', 'softness' => 'hard'}
);
foreach $fr (keys(%fruit)) # Цикл по фруктам
{
print "\n$fr:\n";
foreach $pr (keys(%{$fruit{$fr}})) # Цикл по свойствам
{
print "\t$pr - $fruit{$fr}{$pr}\n";
}
}
print "\nЦвет огурца - ", $fruit{cucumber}{color};
no subject
Date: 2005-04-29 07:15 am (UTC)Дык
Date: 2005-04-29 12:11 pm (UTC)Более того, я, обленившись цепляться к юниксовым серверам, водрузил перл+апач+пхп+мускл на свою виндузовую машину...
no subject
Date: 2005-04-29 08:06 am (UTC)while (($a,$b)=each %fruit) {
print "\n$a:\n", map { "$_ - $b->{$_}\n" } keys %$b;
}
гы %)
Date: 2005-04-29 09:47 am (UTC)Таки да
Date: 2005-04-29 12:16 pm (UTC)Блин! Стоило вместо перла пописáть чуток на пхп — сразу мозги заплесневели...
no subject
Date: 2005-04-29 08:46 am (UTC)particle: electron, proton,
charm: strange, up, down, beauty
ну и братья Foo и Bar само собой
no subject
Date: 2005-04-29 09:00 am (UTC)no subject
Date: 2005-04-29 10:24 am (UTC)Дык
Date: 2005-04-29 12:18 pm (UTC)$fruit{banana}{form} == 'sickel', а потом решил не выёживаться...no subject
Date: 2005-04-29 01:07 pm (UTC)2. не объявляются переменные
3. в качестве индексов хэша используются barewords
4. стиль написания скрипта абсволютно не соответствует рекомендованному в perldoc perlstyle
вывод, работать будет, но людям показывать такое нельзя. Да и самому лучше не приучаться, даже если никто не видит. Потом трудно будет переключиться из режима "пишу для разового исполнения, лишь бы работало" в режим "пишу для командного проекта". Это на самом деле большая проблема, трудно людей набивших руку на плохо стилизованных скриптах заставить работать над цельным проектом так, чтоб проект не выглядел лоскутным одеялом и никто не путался в чужом коде. Пренебрежение же use strict и использование barewords часто приводит к чрезвычайно трудноуловимым ошибкам, на поиск которых тратится несравнимо больше времени чем на то, чтобы изначально писать хорошо.
no subject
Date: 2005-04-29 01:57 pm (UTC)no subject
Date: 2005-04-29 02:04 pm (UTC)Ух!
Date: 2005-04-29 08:38 pm (UTC)Подумаем/учтём...
Итого через десять лет
Date: 2016-02-04 11:44 am (UTC)1. Сразу пишу, используя
strictиwarnings;2. Объявляю переменные;
3. Не использую bare words;
4. Следую написанному в perldoc perlstyle и в Perl Best Practices.
Re: Итого через десять лет
Date: 2016-02-05 08:51 am (UTC)