Size: a a a

2021 June 04

АК

Алексей Клименко... in use Perl or die;
А на выходе надо что, огромную строку?
источник

VG

Vadim Goncharov in use Perl or die;
ясен, что присвоение в элемент с определенным номером должно вовлекать квадратные скобки с его индексом
источник

VG

Vadim Goncharov in use Perl or die;
как и в JS, как и везде
источник

VG

Vadim Goncharov in use Perl or die;
просто кто-то не любит читать доки
источник

АК

Алексей Клименко... in use Perl or die;
Но перл обожает от всяких скобок избавляться!

Тот же

shift
источник

VG

Vadim Goncharov in use Perl or die;
не, ну ты можешь сделать push, конечно :)
источник

АК

Алексей Клименко... in use Perl or die;
Я же не могу написать
shift(@a) = 42;

А если и могу, то не рискну предположить, что это сделает…
источник

VG

Vadim Goncharov in use Perl or die;
это просто операторы для работы с массивом как со стеком или очередью, и они обрабатывают только края
источник

VG

Vadim Goncharov in use Perl or die;
а для массива как, кхм, массива - ессно, что нужны квадратные скобки
источник

АК

Алексей Клименко... in use Perl or die;
У вас длину массива берёт scalar (неявное говно!)

То есть, по логике
x=a.length;a.length=0;
я должен портировать с JS как
$x=scalar(@a);scalar(@a)=0;

На месте Перла я бы это не скомпилировал!
источник

VG

Vadim Goncharov in use Perl or die;
вообще-то отсюда точно так же не очевидно, является ли .length lvalue - вдруг он r/o аксессор
источник

АК

Алексей Клименко... in use Perl or die;
У строки кстати так и есть ))

А вот у массива можно изменять!
источник

АК

Алексей Клименко... in use Perl or die;
(Причём присвоение в str.length будет просто немо проигнорировано…)
источник

T

Telebotik in use Perl or die;
Да.
Сейчас у меня набивается массив таких строк ( `push @array, $str;`), затем данный массив соединяется в одну огромную строку, но дело в том массив набивается в блоке
{
   lock @array;
   ....
   push @array, $str;
}
источник

VG

Vadim Goncharov in use Perl or die;
ну вот видишь, опять приходится документацию на язык читать
источник

АК

Алексей Клименко... in use Perl or die;
Зачем читать, попробовал присвоить – смотришь, присвоилось или нет…
источник

АК

Алексей Клименко... in use Perl or die;
*отладка перебором.webp*
источник

VG

Vadim Goncharov in use Perl or die;
ну вообще можешь попробовать преаллоцировать большую строку и набивать в неё по substr() = "something" если длины известны
источник

АК

Алексей Клименко... in use Perl or die;
Вах, у вас же subsrt – lvalue, господи помилуй.
источник

VG

Vadim Goncharov in use Perl or die;
источник