powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl: Проверка наличия значения у ключа
8 сообщений из 8, страница 1 из 1
Perl: Проверка наличия значения у ключа
    #39762146
Zankoku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, господа. Вопрос на миллион очков:
Код: ruby
1.
2.
3.
4.
5.
6.
7.
8.
9.
foreach (sort (keys %hash)) {
  say qq(<ul><h3>$_</h3>); #вывод ключей хэша (заголовков списка)
   foreach ($hash{$_}) {
    foreach (@$_) {
      say qq(<li><h5>"@$_"</h5></li>);
    }
    say br();
   }
}


Логично не выводить в заголовок списка если в нем нет элементов.
Как проверить наличие пары у ключа в районе комментария?
...
Рейтинг: 0 / 0
Perl: Проверка наличия значения у ключа
    #39762187
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да хоть так:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
for (sort keys %hash ) {
    next if not $hash{$_};

    say qq(<ul><h3>$_</h3>); #вывод ключей хэша (заголовков списка)
    for ( $hash{$_}) {
        ...
    }
}
...
Рейтинг: 0 / 0
Perl: Проверка наличия значения у ключа
    #39762204
Zankoku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volodin661да хоть так:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
for (sort keys %hash ) {
    next if not $hash{$_};

    say qq(<ul><h3>$_</h3>); #вывод ключей хэша (заголовков списка)
    for ( $hash{$_}) {
        ...
    }
}



Не, не катит.
Код: ruby
1.
next if not $hash{$_};

^ проверяет наличие ключа. А мне нужно проверить наличие значения у этого ключа.

P.S. пробовал я так (почти так, подробнее в спойлере)
Код: ruby
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
foreach (sort (keys %hash)) {
  
if ($hash{$_}){
  say qq(<ul><h3>$_</h3>);
}
  foreach ($hash{$_}) {
    foreach (@$_) {
      print qq(<li><h5>"@$_"</h5></li>);
    }
    say br();
    }
}

...
Рейтинг: 0 / 0
Perl: Проверка наличия значения у ключа
    #39762484
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zankoku,
может у тебя какой-то другой Perl ?

Код: perl
1.
2.
3.
4.
5.
6.
#!/usr/bin/env perl -l

$hash{aaa} = undef;

print "Key exists" if exists $h{aaa};
print "No values" if not $h{aaa};



Output :
Key exists
No values
...
Рейтинг: 0 / 0
Perl: Проверка наличия значения у ключа
    #39762487
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опечатка. в последних двух строчках не $h{aaa} , а $hash{aaa} .
...
Рейтинг: 0 / 0
Perl: Проверка наличия значения у ключа
    #39762534
Zankoku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volodin661Zankoku,
может у тебя какой-то другой Perl ?

Код: perl
1.
2.
3.
4.
5.
6.
#!/usr/bin/env perl -l

$hash{aaa} = undef;

print "Key exists" if exists $h{aaa};
print "No values" if not $h{aaa};



Output :
Key exists
No values

Код:

Код: ruby
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
for (sort (keys %hash)) {
  next if not $hash{$_};
  say qq(<ul><h3>$_</h3>\n);

  for ($hash{$_}) {
    for (@$_) {
      print qq(<li><h5>@$_</h5></li>\n);
    }
    say br();
   
  }
}




Вывод:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<ul><h3>Не отдел</h3>

<li><h5>Бух Валентина Валентинова</h5></li>
<br />
<ul><h3>Отдел</h3>
<br />
<ul><h3>Отдел отделов</h3>
<li><h5>Дворник Иван Иванов</h5></li>
<li><h5>Дворник Петр Петров</h5></li>
<li><h5>Плотник Федот Федотов</h5></li>
<br />


DDP:
Код: plaintext
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.
{
    'Не отдел'        [
        [0] [
            [0] "Бух",
            [1] "Валентина",
            [2] "Валентинова"
        ]
    ],
    Отдел             [],
    'Отдел отделов'   [
        [0] [
            [0] "Дворник",
            [1] "Иван",
            [2] "Иванов"
        ],
        [1] [
            [0] "Дворник",
            [1] "Петр",
            [2] "Петров"
        ],
        [2] [
            [0] "Плотник",
            [1] "Федот",
            [2] "Федотов"
        ]
    ]
}


в чем косяк?)
...
Рейтинг: 0 / 0
Perl: Проверка наличия значения у ключа
    #39762592
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zankoku, пустой анонимный массив проверяется так:

Код: perl
1.
if not ~~@ {$h{aa}}



назову этот оператор ~~@ жизнеутверждающе: 'проникновение сперматозоидов в яйцеклетку'
...
Рейтинг: 0 / 0
Perl: Проверка наличия значения у ключа
    #39763091
Zankoku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volodin661Zankoku, пустой анонимный массив проверяется так:

Код: perl
1.
if not ~~@ {$h{aa}}



назову этот оператор ~~@ жизнеутверждающе: 'проникновение сперматозоидов в яйцеклетку'

Позвольте процитировать классика: "Ура! Заработало!" (С) Кот Матроскин.
Спасибо большое! Лайков Вам, репостов!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl: Проверка наличия значения у ключа
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]