Perl için yeni ve Perl'de sınıfımın bir niteliği olarak bir 2B dizi tanımlamaya çalışıyorum. aşağıdaki gibi ben,Perl'de sınıf içi 2B dizi tanımlama
sub new{
my $class = shift;
my $self = {};
my @board = [];
for (my $i = 0; $i < 8; $i++){
for(my $j = 0; $j < 8; $j++){
$board[$i][$j] = '.';
}
}
$self->{board} = @board;
bless($self, $class);
return $self;
}
Ama benim sınıfını tanımlamak daha sonra ben
Can't use string ("8") as an ARRAY ref while "strict refs" in use
kimse bana söyleyebilir belirten bir hata var bu
$self->{board}[$i][$j] = ' ';
gibi tahta alanını erişmeye çalıştığınızda üzerinde Bunu yapmanın doğru yolu nedir? Sadece kullanımı kesin olarak silmek istemiyorum.
Yığın Taşması ve Perl etiketine hoş geldiniz. Bu oldukça iyi bir ilk cevap! Satır içi kod formatınızın tutarlı olduğundan emin olun ve belki de belgelere bir bağlantı ekleyin. İyi işlere devam et! :) – simbabque
Kod sürüm # 1'e göre değiştirdim, ancak bir altprogramda erişmeye çalıştığımda hala aynı hatayı aldım. –
Oh, problemi buluyor gibi görünüyorum, altprogramda boş olan doğrudan altprogramda $ self -> {board} [$ i] [$ j] kullanmayı deneyin. Fakat altprogram kendi sınıflarının özelliklerine erişemez mi? –