官术网_书友最值得收藏!

Hashes

In the array, indexes are integer numbers starting from zero. Hashes are another structural type of data in Perl 6 that can be treated as arrays whose indices are strings.

Hashes use the % sigil. Other names for hashes from various programming languages are associative arrays, dictionaries or dicts, and maps. Hashes are very useful when you need to keep a few values together. For example, take a look at the following code snippet:

my %city = 
name => 'London',
country => 'gb',
latitude => 51.52,
longitude => 0,
area => 1577,
inhabitants => 8_700_000;

Elements of the hash are pairs, which are in turn two things—the key and the value. In this example, keys of the %city hash are name, country, and so on, and their values are London and gb.

The layout of the code in such assignments may be changed to align the keys and the values, as you can see here:

my %city = 
name => 'London',
country => 'gb',
latitude => 51.52,
longitude => 0,
area => 1577,
inhabitants => 8_700_000;

In the assignment, pairs of the hash can be surrounded in parentheses, as shown here:

my %city = (
name => 'London',
country => 'gb',
latitude => 51.52,
longitude => 0,
area => 1577,
inhabitants => 8_700_000);

When a hash is printed (say %city), it is displayed in a pair of curly braces, as shown in the following lines of code:

{area => 1577, country => gb, inhabitants => 8700000,    
latitude => 51.52, longitude => 0, name => London}

If there are keys with identical names, then the last one wins. Consider the following hash creation:

my %city = 
name => 'London',
name => 'Paris';
say %city;

This program prints {name => Paris} only.

The information in this section is enough to continue on our way to learning types in Perl 6.

主站蜘蛛池模板: 绿春县| 北票市| 青铜峡市| 营口市| 砚山县| 孟州市| 榆社县| 宾阳县| 丁青县| 徐汇区| 洪湖市| 班玛县| 武宁县| 泗洪县| 开封市| 黄龙县| 时尚| 平山县| 平阳县| 英德市| 大足县| 桂东县| 惠东县| 梧州市| 化州市| 六枝特区| 西藏| 无极县| 河东区| 富裕县| 栾城县| 乐至县| 肥西县| 威宁| 吴旗县| 余江县| 龙游县| 买车| 贵阳市| 肥西县| 仲巴县|