偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Perl基礎(chǔ) Perl復(fù)雜數(shù)據(jù)結(jié)構(gòu)

開(kāi)發(fā) 架構(gòu)
Perl復(fù)雜數(shù)據(jù)結(jié)構(gòu)的概念你是否熟悉,本文向大家簡(jiǎn)單介紹一下,Perl能使復(fù)雜的事情變得簡(jiǎn)單,并且Perl讓你可以操作簡(jiǎn)單的標(biāo)量。

本文和大家重點(diǎn)討論一下 Perl復(fù)雜數(shù)據(jù)結(jié)構(gòu)的概念。Perl能使復(fù)雜的事情變得簡(jiǎn)單,方法是讓你假裝那些復(fù)雜的數(shù)值實(shí)際上是簡(jiǎn)單的東西.換句話說(shuō),Perl讓你可以操作簡(jiǎn)單的標(biāo)量,而這些標(biāo)量碰巧是指向復(fù)雜數(shù)組和散列的引用.

Perl復(fù)雜數(shù)據(jù)結(jié)構(gòu)

  數(shù)組和散列是易用、簡(jiǎn)單平面的數(shù)據(jù)結(jié)構(gòu),很不幸,現(xiàn)實(shí)總不能如人所愿。很多時(shí)候你需要使用很難、復(fù)雜而且非平面的數(shù)據(jù)結(jié)構(gòu)。Perl能使復(fù)雜的事情變得簡(jiǎn)單。方法是讓你假裝那些復(fù)雜的數(shù)值實(shí)際上是簡(jiǎn)單的東西.換句話說(shuō),Perl讓你可以操作簡(jiǎn)單的標(biāo)量,而這些標(biāo)量碰巧是指向復(fù)雜數(shù)組和散列的引用.在自然語(yǔ)言中,我們總是用簡(jiǎn)單的單個(gè)名詞來(lái)表示復(fù)雜的難以理解的實(shí)體,比如,用"政府"來(lái)代表一個(gè)關(guān)系復(fù)雜的硬殼等等.
  
  繼續(xù)討論上個(gè)例子,假設(shè)我們想討論Jacob的妻子而不是Adam的,而Jacob有四個(gè)妻子(自己可別這么干)。為了在Perl中表示這個(gè)數(shù)據(jù)結(jié)構(gòu),我們會(huì)希望能將Jocob的四個(gè)妻子當(dāng)成一個(gè)來(lái)處理,但是我們會(huì)遇到一些問(wèn)題。你可能認(rèn)為我們可以用下面的語(yǔ)句來(lái)表示:
  
  $wife{"Jacob"}=("Leah","Rachel",'Bilhah","Zilpah");#錯(cuò)
  但是這并不能象你希望的那樣運(yùn)轉(zhuǎn),因?yàn)樵赑erl中括弧和逗號(hào)還不夠強(qiáng)大,還不能將一個(gè)列表轉(zhuǎn)換成為標(biāo)量(在語(yǔ)法中,圓括弧用于分組,逗號(hào)用于分隔)。你需要明確地告訴Perl你想將一個(gè)列表當(dāng)成一個(gè)標(biāo)量。[]中括弧能夠?qū)崿F(xiàn)這個(gè)轉(zhuǎn)換:
  
  $wife{"Jacob"}=["Leah","Rachel","Bilhah","Zilpah"];#正確
  這個(gè)語(yǔ)句創(chuàng)建了一個(gè)未命名的數(shù)組,并將這個(gè)數(shù)組的引用放入散列的元素$wife{“Jacob”}中.因此我們有了一個(gè)命名的散列,其中包含了一個(gè)未命名的數(shù)組.這就是Perl處理多維數(shù)組和嵌套數(shù)據(jù)類型的方法.同普通數(shù)組和散列的賦值方法一樣,你可以單獨(dú)對(duì)其進(jìn)行賦值:   

  1.  $wife{"Jacob"}[0]="Leah";  
  2.   $wife{"Jacob"}[1]="Rachel";  
  3.   $wife{"Jacob"}[2]="Bilhah";  
  4.   $wife{"Jacob"}[3]="Zilpah";  

  你可以從上邊看出,這看起來(lái)象一個(gè)具有一個(gè)字符串下標(biāo)和一個(gè)數(shù)字下標(biāo)的多維數(shù)組.為了更多了解樹(shù)狀結(jié)構(gòu),如嵌套數(shù)據(jù)結(jié)構(gòu),假設(shè)我們希望不僅能列出Jocob的妻子,而且同時(shí)能列出每個(gè)妻子的所生的兒子,Perl復(fù)雜數(shù)據(jù)結(jié)構(gòu)在這種情況下,我們希望將散列結(jié)構(gòu)也當(dāng)成一個(gè)標(biāo)量,我們可以使用花括弧來(lái)完成(在每個(gè)散列值中,象上個(gè)例子一樣用中括弧表示數(shù)組,現(xiàn)在我們有了一個(gè)在散列中的散列中的數(shù)組)。
  
  $kids_of_wife{"Jacob"}={
  "Leah"=>["Reuben","Simeon","Levi","Judah","Issachar","Zebulun"],
  "Rachel"=>["Joseph","Benjamin"],
  "Bilhah"=>["Dan","Naphtali"],
  "Zilpah"=>["Gad","Asher"],};

  同樣,我們也可以象下面這樣表示:    

  1. $kids_of_wife{"Jacob"}{"Leah"}[0]="Reuben";  
  2.   $kids_of_wife{"Jacob"}{"Leah"}[1]="Simeon";  
  3.   $kids_of_wife{"Jacob"}{"Leah"}[2]="Levi";  
  4.   $kids_of_wife{"Jacob"}{"Leah"}[3]="Judah";  
  5.   $kids_of_wife{"Jacob"}{"Leah"}[4]="Issachar";  
  6.   $kids_of_wife{"Jacob"}{"Leah"}[5]="Zebulun";  
  7.   $kids_of_wife{"Jacob"}{"Rachel"}[0]="Joseph";  
  8.   $kids_of_wife{"Jacob"}{"Rachel"}[1]="Benjamin";  
  9.   $kids_of_wife{"Jacob"}{"Bilhah"}[0]="Dan";  
  10.   $kids_of_wife{"Jacob"}{"Bilhah"}[1]="Naphtali";  
  11.   $kids_of_wife{"Jacob"}{"Zilpah"}[0]="Gad";  
  12.   $kids_of_wife{"Jacob"}{"Zilpah"}[1]="Asher";  

  可以從上面看出,在嵌套數(shù)據(jù)結(jié)構(gòu)中增加一層,就像在多維數(shù)組中增加了一維。在Perl內(nèi)部表示是一樣的,但是你可以用任何一種方法來(lái)理解。
  
  這里最重要的一點(diǎn)就是,Perl可以用簡(jiǎn)單的標(biāo)量來(lái)代表Perl復(fù)雜數(shù)據(jù)結(jié)構(gòu)。Perl利用這種簡(jiǎn)單的封裝方法構(gòu)建了基于對(duì)象的結(jié)構(gòu)。當(dāng)我們用下面的方法調(diào)用Camel對(duì)象的構(gòu)造函數(shù)的時(shí)候:
  
  $fido=newCamel"Amelia";
  我們創(chuàng)建了一個(gè)Camel對(duì)象,并用標(biāo)量$fido來(lái)代表。但是在Camel對(duì)象里面是很復(fù)雜的。作為優(yōu)秀的面向?qū)ο蟮某绦騿T,我們不想關(guān)心Camel對(duì)象里面的細(xì)節(jié)(除非我們是實(shí)現(xiàn)Camel類方法的人)。但是一般說(shuō)來(lái),一個(gè)對(duì)象的組成中會(huì)有一個(gè)包含對(duì)象屬性的散列。例如它的名字(本例子中,是“Amelia”而不是“fido”),還有駝峰的數(shù)量(在這里我們沒(méi)有明確定義,因此使用缺省值1,和封面一樣)。

【編輯推薦】

  1. Perl變量中Perl數(shù)組概念詳解
  2. Perl面向?qū)ο缶幊痰膬煞N實(shí)現(xiàn)和比較
  3. Perl語(yǔ)言中的五大變量類型
  4. 深入解析Perl內(nèi)部函數(shù)的使用
  5. Perl程序設(shè)計(jì)中的Perl用戶函數(shù)(子程序)
責(zé)任編輯:佚名 來(lái)源: hackbase.com
相關(guān)推薦

2010-07-20 16:05:07

Perl包

2010-07-13 16:34:34

Perl 哈希表

2010-07-16 10:44:54

Perl數(shù)組

2010-07-16 10:38:24

Perl關(guān)聯(lián)數(shù)組

2024-11-14 08:00:00

Python迭代器

2010-07-19 09:52:04

Perl標(biāo)量

2010-07-21 13:59:59

Perl引用

2022-02-22 19:04:01

Perl編程語(yǔ)言

2010-07-15 10:22:23

Perl控制結(jié)構(gòu)

2010-07-16 10:53:30

Perl基礎(chǔ)

2010-07-16 09:50:23

Perl控制結(jié)構(gòu)

2010-07-21 14:18:27

Perl函數(shù)

2010-07-16 11:22:31

Perl

2010-07-20 14:41:55

Perl語(yǔ)法

2010-07-19 10:01:57

Perl函數(shù)

2010-07-21 13:27:06

Perl模式匹配

2010-07-21 09:50:51

Perl調(diào)試

2010-07-19 11:07:13

Perl控制結(jié)構(gòu)

2010-07-13 09:50:55

Perl數(shù)組

2010-07-13 12:50:47

Perl變量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)