建立乙個關聯陣列元素最簡單的方法是賦值,如語句
$fruit = 1;把
1賦給關聯陣列
%fruit
下標為bananas
的元素,如果該元素不存在,則被建立,如果陣列
%fruit
從未使用過,也被建立。
這一特性使得關聯陣列很容易用於計數。下面我們用關聯陣列改寫上面的程式,注意實現同樣的功能此程式簡化了許多。
1 : #!/usr/local/bin/perl
2 :3 : while ($inputline = ) += 1;
8 :}
9 : }
10: print ("capitalized words and number of occurrences:/n");
11: foreach $capword (keys(%wordlist)) /n");
13: }
執行結果如下:
here is a line of input.
this input contains some capitalized words. ^d
capitalized words and number of occurrences:
this: 1
input: 2
here: 1
capitalized: 1
你可以看到,這次程式簡單多了,讀取輸入並存貯各單詞數目從
20行減少到了7行。
本程式用關聯陣列
%wordlist
跟蹤首字母大寫的單詞,下標就用單詞本身,元素值為該單詞出現的次數。第
11行使用了內嵌函式
keys()
。這個函式返回關聯陣列的下標列表,
foreach
語句就用此列表迴圈。
注:關聯陣列總是隨機存貯的,因此當你用
keys()
訪問其所有元素時,不保證元素以任何順序出現,特別值得一提的是,它們不會以被建立的順序出現。
要想控制關聯陣列元素出現的次序,可以用
sort()
函式對keys()
返回值進行排列,如:
foreach $capword (sort keys(%wordlist)) /n"); }
1215 關聯陣列
一 陣列變數的限制 在前面講的陣列變數中,可以通過下標訪問其中的元素。例如,下列語句訪問陣列 array 的第三個元素 scalar array 2 雖然陣列很有用,但它們有乙個顯著缺陷,即很難記住哪個元素存貯的什麼內容。假如我們來寫乙個程式計算某檔案中首字母大寫的單詞出現的次數,用陣列來實現就比較...
9 3 關聯陣列
關聯陣列是bash 4.0新增的乙個特性。關聯陣列將值與索引連線 關聯 到一起,所以我們可以將元資料與實際資料關聯起來。使用這種方式可以將 家與他的樂器聯絡起來。關聯陣列必須以大寫的declare a命令來進行宣告。cat musicians.sh bin bash declare a beatle...
JS 關聯陣列
使用方式 var arr arr key1 value1 arr key2 value2 通常的陣列在填充時會隱式或者顯示指定陣列下標,但js中陣列可以以名字的形式為元素賦值,這就形成了關聯陣列,如 var arr new array arr china beijing,niaoling,hulan...