я все думаю, а ведь уже куча модулей на это тему есть,
а каждай все-таки реализует по-своему,
исправлю - покажу
11:36, 15 октября 2015 г., Victor Efimov <[email protected]>:
а со второй что не нравится?
можно ещё так записать:
join ("/", map { $_ ? $_ : () } ($_->day, $_->month, $_->year)) for
($date_of_birth)
или даже так
join ("/", map { $_ || () } ($_->day, $_->month, $_->year)) for ($date_of_birth)
perl -e 'my $date_of_birth = { day => 1, month => 2, year => 3 };
print join ("/", map { $_ ? $_ : () } ($_->{day}, $_->{month},
$_->{year})) for ($date_of_birth)'
1/2/3
хотя я тут вник в логику - она какая-то странная.. если day есть, а
month нет - странные результаты
15 октября 2015 г., 11:16 пользователь Nikolay Mishin <[email protected]> написал:Виктор, спасибо,--
певая часть действительно булет смотреться лучше
10:53, 15 октября 2015 г., Victor Efimov <[email protected]>:
примерно так:
push @person_row, (defined $person->get_father()) ?
$person->get_father()->get_id() : undef;
на
push @person_row, map { defined ? $_->get_id : undef }
($person->get_father(), $person->get_mother()))
и
$date .= defined $date_of_birth->day ? $date_of_birth->day."/" : "";
$date .= defined $date_of_birth->month ? $date_of_birth->month."/" :
"";
$date .= defined $date_of_birth->year ? $date_of_birth->year : "";
на
for ($date_of_birth) {
join ("/", map { $_ ? $_ : () } ($_->day, $_->month, $_->year_))
}
(не тестировал)
15 октября 2015 г., 5:43 пользователь Nikolay Mishin <[email protected]> написал:
Hi Moscow.PM!
Существует ли какой-либо сбособ сделать более читаемым такой код?:
push @person_row, (defined $person->get_father()) ?
$person->get_father()->get_id() : undef;
push @person_row, (defined $person->get_mother()) ?
$person->get_mother()->get_id() : undef;
push @person_row, ($person->get_email(), $person->get_homepage());
my $date = "";
if(defined $person->get_date_of_birth()) {
my $date_of_birth = $person->get_date_of_birth();
$date .= defined $date_of_birth->day ? $date_of_birth->day."/" : "";
$date .= defined $date_of_birth->month ? $date_of_birth->month."/" :
"";
$date .= defined $date_of_birth->year ? $date_of_birth->year : "";
}
источник
https://github.com/mishin/Ftree-cpan/blob/master/lib/Ftree/Exporters/ExcelExporter.pm#L53
--
С уважением
Николай Мишин
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org
Sincerely, Nikolay Mishin
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org
Moscow.pm mailing list
[email protected] | http://moscow.pm.org
Sincerely, Nikolay Mishin
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
