1216 增加關聯陣列的元素

2021-05-13 02:10:51 字數 1123 閱讀 8901

建立乙個關聯陣列元素最簡單的方法是賦值,如語句

$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...