2016-06-07 116 views
1
foreach my $tp (@tpList) 
{ 
print "inside function 14"; 
my $result1_fail = ""; 
$_=$tp; 
next if(/^$/); 
print "TP : $tp\n"; 
$result.="<h3>$tp</h3><BR>\n"; 
$result1_fail.="<h3>$tp</h3><BR>\n"; 
#------------------------------# 
print "inside function 15"; 
***my @emptytables=(); 
my @tables=();*** 
@tables= getAllTables4TP($tp); 
  • 請解釋my @ emptytables =()的含義。
  • 而且我的@ tables =();
  • 這是用來定義一些空數組嗎?
  • 如果是,那麼它有什麼用?
+2

也許你想了解[Perl數據結構(http://perldoc.perl.org/perldata.html),並使用[我的](http://perldoc.perl.org/functions/my.html)來聲明變量。 – PerlDuck

回答

3
  • my @tables;創建一個空的陣列
  • my @tables =();創建一個空的陣列,然後用無(清空它)替換其內容。
  • my @tables =(); @tables = getAllTables4TP($tp);創建一個空數組,然後將其內容替換爲空,然後用其他內容替換其內容。

我將只使用下列內容:

my @tables = getAllTables4TP($tp); 
5

這些數組初始化爲空,如果接下來的事情是數組賦值,它基本上是無用的。我會寫

my @tables = getAllTables4TP($tp); 

我不能說任何關於@emptytables,因爲我沒有看到使用它的代碼。

2

是的你是正確的,它定義了一個空數組。

檢查這部分

my @tables=(); 
@tables= getAllTables4TP($tp); 

在這裏,數據插入完成到表陣列。可以直接寫上面的行作爲一行:

my @tables= getAllTables4TP($tp);