Mám dátumové pole. Snažím sa pridať čiarky k prvkom poľa. Používam join. K poslednému prvku potrebujem pridať čiarku. Tu je môj vstup - 2020 02 20 Môj výstup by mal byť - 2020,02,20,
Tu je môj kód
@date = join( ",",@date); or @date = join( map "$_,",@date );
Trochu nemôžem dostať čiarku na poslednom prvku. Bolo by naozaj skvelé, keby sa to dalo dosiahnuť iba pomocou join.
Vopred ďakujem.
odpovede:
10 pre odpoveď č. 1skúste:
my $date = join(",", @date, "");
teda len povedz join
že existuje ďalší prvok.
Pozn .: výstup z join
je jediný skalárny reťazec, a teda nie iné pole $date
vyššie.
5 pre odpoveď № 2
Ak chcete pre svoju prácu použiť správnu funkciu, mali by ste používať map
zmeniť všetky prvky poľa a spojiť to všetko spolu s join
my $date = join("", map { "$_," } @date);
4 pre odpoveď č. 3
Snažím sa pridať čiarky k prvkom poľa.
$_ = "$_," for @date;
Ak sa však snažíte vytvoriť reťazec a nie upraviť pole, môžete použiť nasledovné:
my $date = join "", map "$_,", @date;
Vyššie uvedené je možné urýchliť pomocou tohto šikovného, ale stále čitateľného prístupu:
my $date = join ",", @date, "";
3 pre odpoveď č. 4
Ak chcete upraviť všetky prvky poľa, mapa je vhodný nástroj:
use warnings;
use strict;
my @date = qw(2020 02 20);
@date = map "$_,", @date;
use Data::Dumper;
print Dumper(@date);
__END__
$VAR1 = [
"2020,",
"02,",
"20,"
];