Tôi đang xây dựng một mảng băm của mảngThêm giá trị cho mảng nếu điều kiện được fullfilled
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'},
]
},
);
Có cách nào để chỉ thêm băm bên trong chỉ đứng thứ hai nếu một điều kiện được fullfilled? Something như thế này:
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'} if 1==1,
]
},
);
tôi cố gắng viết lại mã của tôi sử dụng push:
my @innerarray =();
push @innerarray, {label => 'first inner hash'};
push @innerarray, {label => 'second inner hash'} if 1==1;
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => \@innerarray
},
);
Nhưng nó trở nên rất khó đọc, như tôi đã ấn định trước tất cả các mảng nội trước khi sử dụng chúng, mà trong một số trường hợp là một vài dòng mã trên mức sử dụng.
Có cách nào để thêm trực tiếp điều kiện nếu tôi chèn phần tử mảng không?
Cảm ơn, làm việc một cách chính xác làm thế nào tôi – Pit
"Toán tử bậc ba" không phải là tên của nó, nó chỉ là một mô tả về số lượng toán hạng mà toán tử có điều kiện không phải là toán tử ternary duy nhất của Perl (ví dụ 'dbmopen') Cố định. – ikegami