tr/// v reverse()
2 отговора
77 прегледа
tr/// v reverse()
Nqkoj mozhe li da mi objasni zashto se poluchava tova (udebelil sum go):
$ perl -d -e 0
Loading DB routines from perl5db.pl version 1.19
Editor support available.
Enter h or `h h' for help, or `man perldebug' for more help.
main::(-e:1): 0
DB<1> $test_str1 = "adfsaishashkjahjjhkn"
DB<2> print $test_str1;
adfsaishashkjahjjhkn
DB<3> $test_str2=reverse($test_str1=~tr/a-z/A-Z/);
DB<4> print $test_str2;
02
DB<5> print $test_str1;
ADFSAISHASHKJAHJJHKN
DB<6> $test_str3=reverse($test_str1);
DB<7> print $test_str3
NKHJJHAJKHSAHSIASFDA
$ perl -d -e 0
Loading DB routines from perl5db.pl version 1.19
Editor support available.
Enter h or `h h' for help, or `man perldebug' for more help.
main::(-e:1): 0
DB<1> $test_str1 = "adfsaishashkjahjjhkn"
DB<2> print $test_str1;
adfsaishashkjahjjhkn
DB<3> $test_str2=reverse($test_str1=~tr/a-z/A-Z/);
DB<4> print $test_str2;
02
DB<5> print $test_str1;
ADFSAISHASHKJAHJJHKN
DB<6> $test_str3=reverse($test_str1);
DB<7> print $test_str3
NKHJJHAJKHSAHSIASFDA
Re: tr/// v reverse()
Защото израза $variable=~ tr/a-z/A-Z/ в контекста в който си го дал на reverse връща 20 (броя на преобразуваните символи), reverse го хваща (имам предвид стринга "20") и го обръща до 02... Що не ползваш uc за преобразуване в големи букви?
воля, воля... и пак воля...
воля, воля... и пак воля...
Re: tr/// v reverse()
Благодаря:) Това го дадох просто за пример. Не е нещо сериозно. Тръгнал съм на един курс и там попаднах на тази изцепка и никой не можа да ми каже защо се получава.