8月28日 perl 學(xué)習(xí)筆記 哈希

學(xué)習(xí) pop push?

增加新元素到數(shù)組的尾端pop 負(fù)責(zé)取出數(shù)組中最后一個(gè)元素并將其作為返回值返回

@will = 5..9

$jack = pop(@will)# $jack 變?yōu)??

@will 變?yōu)椋?们衙,6泪掀,7柑肴,8)

push 添加一個(gè)元素到數(shù)組的末尾

shift unshift 是對(duì)數(shù)組的開頭進(jìn)行操作

splice 從中間插入

@will = qw(1 2 3 4);

@move = splice @will, 1, 2, qw(8);

@move = qw (2 3)

@will = qw (1 8 4)

雙引號(hào) 使得數(shù)組內(nèi)插使用

foreach語句可以一項(xiàng)一項(xiàng)地讀數(shù)據(jù)同時(shí)我發(fā)現(xiàn)目前我只會(huì)$ 不能用@ 注意區(qū)分 $ 控制變量與@ $_為默認(rèn)變量使用reverse逆序排列數(shù)組each 理清楚概念什么是標(biāo)量上下文什么是列表上下文在標(biāo)量上下文中使用產(chǎn)生列表的表達(dá)式在列表上下文中使用產(chǎn)生標(biāo)量的表達(dá)式scalar 強(qiáng)制指定標(biāo)量上下文

scalar @will列表上下文中的子程序

返回值的注意事項(xiàng)

sub

在子程序的執(zhí)行過程中宇色,它會(huì)不斷進(jìn)行運(yùn)算聪蘸,最后一次的結(jié)果都會(huì)被自動(dòng)當(dāng)成子程序的返回值。

My () 創(chuàng)建私有變量

My操作符不會(huì)改變變量賦值時(shí)的上下文

也可以創(chuàng)建私有數(shù)組

使用 use strict 編譯指令

return

3 Hash Array(Associative Array):

perl hash 常見用法

基本用法

# 初始化 %h為空數(shù)組%h = {};# 用數(shù)組初始化%h為 a=>1, b=>2%h = ('a', 1, 'b', 2);# 意義同上祈远,只是另一種更形象化的寫法市埋。%h = ('a'=>1, 'b'=>2);#如果key是字符串,可以省略引號(hào)互墓。下面這行和上面那行是一樣的%h = (a=>1, b=>2);

清空hash

undef %h

得到hash的所有鍵值

# 得到所有keys必尼,順序取決于hash函數(shù),或者說是亂序

@all_keys = keys %h;

# 所有鍵值篡撵,是按hash的值從大往小排列的判莉。值的比較是數(shù)字比較(比如說,10>9)

@all_keys = sort{$h{$b}<=>$h{$a}} (keys %h);

# 所有鍵值育谬,是按hash的值從小往大排列的券盅。值的比較是字符串比較(比如說,'10' < '9')

@all_keys = sort{$h{$a} cmp $h{$b}} (keys %h);

判斷hash是否包含key

exists($h{$key});

Hash的長(zhǎng)度

想要知道一個(gè)hash存放多少數(shù)據(jù)

$hash_size = keys %h

# 把%h的長(zhǎng)度放到$hash_size中

print scalar keys %h, "\n"

# 打印%h的長(zhǎng)度膛檀。這里用了scalar來返回?cái)?shù)組長(zhǎng)度锰镀。

遍歷一個(gè)hash

while (my ($k, $v) = each %h) {print "$k ---> $v\n";}

Reference引用

Reference類似于C/C++的指針

$h_ref = \%h;

# 獲得一個(gè)hash的reference%aHash = %{$h_ref};

# 把hash reference當(dāng)成hash用$value = $h_ref->{akey}

# 這個(gè)和%h{akey}是一樣的

傳遞hash到函數(shù)

一般都是傳遞一個(gè)reference到函數(shù)

%h = ();$h{a}=1;foo(\%h)print $h娘侍, "\n";

# 打印出2。

這個(gè)值來自于函數(shù)foo() sub foo {my ($h) = @_;print $h->{a}, "\n";

# 打印出1$h->泳炉 = 2;}

函數(shù)返回hash憾筏,或者h(yuǎn)ash引用(hash reference)

函數(shù)可以返回hash

sub foo {my %fh;$fh{a} = 1;return %h;} my %h = foo();print

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市花鹅,隨后出現(xiàn)的幾起案子氧腰,更是在濱河造成了極大的恐慌,老刑警劉巖刨肃,帶你破解...
    沈念sama閱讀 222,865評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件古拴,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡真友,警方通過查閱死者的電腦和手機(jī)黄痪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盔然,“玉大人桅打,你說我怎么就攤上這事∏峒停” “怎么了油额?”我有些...
    開封第一講書人閱讀 169,631評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵叠纷,是天一觀的道長(zhǎng)刻帚。 經(jīng)常有香客問我,道長(zhǎng)涩嚣,這世上最難降的妖魔是什么崇众? 我笑而不...
    開封第一講書人閱讀 60,199評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮航厚,結(jié)果婚禮上顷歌,老公的妹妹穿的比我還像新娘。我一直安慰自己幔睬,他們只是感情好眯漩,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,196評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著麻顶,像睡著了一般赦抖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辅肾,一...
    開封第一講書人閱讀 52,793評(píng)論 1 314
  • 那天队萤,我揣著相機(jī)與錄音,去河邊找鬼矫钓。 笑死要尔,一個(gè)胖子當(dāng)著我的面吹牛舍杜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赵辕,決...
    沈念sama閱讀 41,221評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼既绩,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了还惠?” 一聲冷哼從身側(cè)響起熬词,我...
    開封第一講書人閱讀 40,174評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吸重,沒想到半個(gè)月后互拾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,699評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嚎幸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,770評(píng)論 3 343
  • 正文 我和宋清朗相戀三年颜矿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嫉晶。...
    茶點(diǎn)故事閱讀 40,918評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡骑疆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出替废,到底是詐尸還是另有隱情箍铭,我是刑警寧澤,帶...
    沈念sama閱讀 36,573評(píng)論 5 351
  • 正文 年R本政府宣布椎镣,位于F島的核電站诈火,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏状答。R本人自食惡果不足惜冷守,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,255評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惊科。 院中可真熱鬧拍摇,春花似錦、人聲如沸馆截。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜡娶。三九已至混卵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間翎蹈,已是汗流浹背淮菠。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荤堪,地道東北人合陵。 一個(gè)月前我還...
    沈念sama閱讀 49,364評(píng)論 3 379
  • 正文 我出身青樓枢赔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親拥知。 傳聞我的和親對(duì)象是個(gè)殘疾皇子踏拜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,926評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)低剔,斷路器速梗,智...
    卡卡羅2017閱讀 134,717評(píng)論 18 139
  • 翻譯自 perl6maven.com exit,warn襟齿,die exit die Hello World Hel...
    焉知非魚閱讀 2,496評(píng)論 2 7
  • Set Series Operator flip_flop.txt 內(nèi)容如下: 輸出: Grammars 只能在葉...
    焉知非魚閱讀 874評(píng)論 0 0
  • 從匹配中返回值 Match 對(duì)象 成功的匹配總是返回一個(gè) Match 對(duì)象, 這個(gè)對(duì)象通常也被放進(jìn) $/ 中, (...
    焉知非魚閱讀 1,805評(píng)論 0 1
  • 列表和數(shù)組 Perl數(shù)組變量和列表的概念姻锁,列表是包含在括號(hào)里的一序列的值,可以為任何數(shù)值猜欺,也可為空位隶,并且列表存貯于...
    小鄭的學(xué)習(xí)筆記閱讀 496評(píng)論 0 1