perl語言入門(5)

第六章 哈希
1.哈希
  哈希就是一種數據結構,可以容納很多值,並隨機存取.是很多的鍵值對,鍵是字符串且唯一,但是鍵可以對應多個值(值可以重複).鍵和值都是任意的標量.
  值可以是數字,字符串,undef.
2.訪問hash元素
  1.   $family_name{"fred"}
3.訪問整個哈希
  1.   %family_name
  對hash賦值會帶來列表賦值的上下文,列表的元素應該是鍵值對
  3種賦值方法:
%family_name = ("foo",35,"bar",12.4);
%family_name = qw/foo 35 bar 12.4/;
%family_name = 用胖箭頭;
  # 數字和字符串會根據需要自動轉換
  1. %new_hash = %old_hash; 
  反轉hash,如果多個值,則後面的鍵覆蓋前面的
  %new_hash = reverse %old_hash;
  哈希鬆綁(列表上下文)
  @any_array = %family_name;
  說明鬆綁後輸出不一定是當初賦值的順序.但是鍵對應值是固定的
  1. hash賦值直觀的寫法 
  2.   my %family_name = ( 
  3.      "foo" => 35, 
  4.      "bar" => 12.4, 
  5.      ); 
4.哈希函數
  返回鍵列表
  keys %hash
  返回值列表
  values %hash
  返回鍵的個數
  my $counts = keys %hash;
  print scalar(keys %hash);
  返回值得個數
  my $counts = values %hash;   
  布爾判斷
  if(%hash)
  # 只要hash不爲空就返回真
5.each函數
  每次返回一組鍵值對
  1. while (($key,$value)= each %hash)  { 
  2.       print "$key => $value\n"; 
  3.       } 
# 到返回空列表時循環結束
  # 不知道鍵對應多個值時會什麼樣
 
  檢查某個鍵是否存在
  1. if (exists $hash{"diao"}) 
  # 返回真則鍵diao存在 
  刪除指定的鍵和它的值
  1. delete  $hash{"diao"} 
# 假如鍵不存在,它直接結束,不會給出任何提示信息。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章