我可以在Perl中創建二維數組。哈希的二維數組有多不同?爲什麼在我們可以使用數組模擬哈希特性時,在Perl中散列一個原始數據結構?來自Perl的數組與Perl有何不同?
1
A
回答
0
在構建多種類型的對象時,new
方法可以傳遞一個參數列表,它可能顯示爲一個散列,但它確實只是一個數組,每個偶數都是一個鍵,每個奇數都是一個值。
my $obj = Some::New::Class->new(
name => 'Sam',
age => 0,
email => '[email protected]'
);
這是等同於:
my $obj = Some::New::Class->new(
'name', 'Sam',
'age', 0,
'email', '[email protected]'
);
你可以,但是,指示新的(),以尋找一個哈希,這似乎更像是:
my $obj = Some::New::Class->new({
name => 'Sam',
age => 0,
email => '[email protected]'
});
如果這不回答你的問題,我希望我至少提供一些見解。
+0
在上一個例子中,你正在傳遞一個*引用*到一個散列中,而不是一個散列:所以在new()的實現中引用它的代碼將有所不同。 (你可能知道,但只是爲了澄清。) – AAT 2011-05-17 10:37:40
6
也許你的意思是你可以有一個這樣的數據結構:
my $array_hash = [
[ "key1", "value1" ],
[ "key2", "value2" ],
];
對於小型數據這個效果很好,但考慮到這樣的陣列有大約1000個條目的情況。然後,要通過鍵找到特定條目,您必須搜索整個數組,這很慢。
原始散列類型允許快速查找,這正是它的用途。
哈希表內置於Perl中的另一個原因是它們是有用的數據結構,因此並非每個程序員都需要實現自己的。
相關問題
- 1. 解析來自freebase的數據與perl
- 2. wget與Perl的lwp有什麼不同?
- 3. Perl - 使用來自perl腳本的rsync
- 4. Perl尾數與其他雙打不同
- 5. Perl:數組引用與匿名數組
- 6. 老版本的Perl有不同的數組索引規則嗎?
- 7. 非ASCII數據的行爲與不同的Perl安裝不同
- 8. perl autovivification數組
- 9. 在Perl數組
- 10. Perl Json數組
- 11. Perl數組不保存所有變量
- 12. 的Perl DBI一個來自不同對象的連接:問題
- 13. Perl ptkdb與斷點不同的結果
- 14. Perl:JavaScript :: V8模板 - 來自perl
- 15. 獲取/轉儲來自http post的所有信息與perl
- 16. 如何減去perl中2個不同數組中的值?
- 17. 如何比較Perl中不同的數組元素?
- 18. perl +如何聲明數組
- 19. 如何分頁Perl數組?
- 20. 如何Perl數組工作$」
- 21. perl中匹配來自2個數組的元素
- 22. 來自perl的網頁自動化
- 23. PERL怎能組串不在同一行
- 24. Perl數組操作
- 25. Perl int到數組
- 26. Perl數組覆蓋
- 27. 解析perl數組
- 28. Perl - 對象數組
- 29. STDOUT到數組Perl
- 30. Perl數組傾銷
沒有2d數組,有數組數組 – Toto 2011-05-14 10:15:46
有PDL中的2D數組,但我知道這不是OP的意思。 (它們也僅用於數字) – 2011-05-14 18:03:31
您也可以使用散列來模擬數組,但如果數組不是任何原始數據類型,它不會讓任何人更好。 – mob 2011-05-14 19:04:18