成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解析Perl map函數使用

開發 架構
你對Perl map函數的用法你是否熟悉,Perl里面的Perl map函數是一種道具,可以讓你的函數或者表達式,很方便地施用到一系列對象上去。

本文和大家重點討論一下Perl map函數的使用,Perl map函數就是起了一個替代foreach循環的作用,Perl map函數會把數組LIST中的元素挨個取出,放到系統變量$_中,然后調用BLOCK去處理。

Perl map函數使用

Perl里面的Perl map函數是一種道具,可以讓你的函數或者表達式,很方便地施用到一系列對象上去。

◆Perl map函數的語法

Perl map函數BLOCKLIST
Perl map函數EXPR,LIST
BLOCK是一個用{}包圍的代碼塊。EXPR可以是子函數名、正則表達式等。LIST是輸入列表。

簡單地說,Perl map函數就是起了一個替代foreach循環的作用,Perl map函數會把數組LIST中的元素挨個取出,放到系統變量$_中,然后調用BLOCK去處理。值得強調的是,除非有很特殊的理由,不要去修改$_的值,因為修改$_就是直接改了原始數組里的元素!BLOCK處理過的結果由Perl map函數返回,仍然是一個數組。

◆一個例子:計算一系列文件大小

my@sizes=Perl map函數{-s$_}@filenames;
上面例子用-s操作取得一些文件的大小,存到數組中去。

◆是不是說Perl map函數的輸入數組和輸出數組一定等長呢?不一定的,看這個

my@books=('PrideandPrejudice','Emma','MasfieldPark','SenseandSensibility','NothangerAbbey','Persuasion','LadySusan','Sanditon','TheWatsons');

現在取出書名里面所有用到的單詞,并且全部轉換成大寫

my@words=Perl map函數{split(/\s+/,$_)}@books;
my@uppercases=Perl map函數uc,@words;
在split起過作用之后,當然@words的長度要比@books長了。

◆再舉一個Perl map函數嵌套使用的例子:矩陣的轉置

  1. useData::Dumper();  
  2. my@matrix=([a,b,c,d],[e,f,g,h],[i,j,k,l]);  
  3. printDumper(\@matrix);  
  4. my@transposed=Perl map函數{$x=$_;  
  5. [Perl map函數{$matrix[$_][$x]}0..$#matrix];  
  6. }0..$#{$matrix[0]};  
  7. printDumper(\@transposed);  

 上面的BLOCK里面,Perl map函數的返回值是用方括號操作符號構造匿名數組實現的。理解這一點就容易看懂代碼了,這個匿名數組法常常被用來構造簡單難懂的代碼,常用伎倆:-)

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/bocodb/archive/2008/11/19/3324025.aspx

【編輯推薦】

  1. Perl語法 解析Perl變量使用
  2. Perl基礎 Perl包概念詳解
  3. Perl引用中直接引用用法解析
  4. Perl語法中Perl標量和數組概念詳解
  5. 技術分享 解析Perl模塊創建和導入方法
責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-19 13:32:55

Perl用戶函數

2010-07-13 10:13:35

Perl內部函數

2010-07-19 13:49:17

Perl函數

2010-07-20 14:41:55

Perl語法

2010-07-19 14:20:57

Perl函數

2010-07-16 16:56:01

Perl構造函數

2010-07-19 14:13:41

Perl函數

2010-07-13 14:26:11

Perl數組

2010-07-26 14:06:43

Perl substr

2010-07-19 14:37:01

Perl進程啟動函數

2010-07-19 15:31:10

Perl關聯數組函數

2010-07-20 09:23:30

Perl構造函數

2010-07-20 11:37:00

Perl函數返回值

2010-07-16 17:04:38

Perl方法

2010-07-15 13:50:16

Perl目錄操作函數

2010-07-15 14:25:06

Perl時間函數

2010-07-21 14:18:27

Perl函數

2010-07-23 14:04:43

Perl grep函數

2010-07-19 10:01:57

Perl函數

2010-07-13 13:49:43

Perl foreac
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲免费大片 | 久久这里只有精品首页 | av日日操| 亚洲天堂一区二区 | 二区高清 | 国产欧美久久一区二区三区 | 国产在线资源 | 亚洲精品电影网在线观看 | 亚洲成人免费视频在线 | 久久日韩精品一区二区三区 | 欧美日韩精品一区二区三区蜜桃 | 夜夜爽99久久国产综合精品女不卡 | 国产精品久久久久久久久久久免费看 | 久草在线在线精品观看 | 97在线超碰 | 成人亚洲视频 | 国产精品一区在线 | 免费的av网站 | 国产成人福利在线观看 | 亚洲www | 国产1页 | 成人欧美一区二区三区黑人孕妇 | 中文字幕亚洲精品 | 四虎最新视频 | 欧美激情国产日韩精品一区18 | 欧美久久视频 | 一区二区三区精品视频 | 毛片免费视频 | 午夜一区 | 99亚洲精品 | 久久国产精品网 | 日本不卡一区二区三区在线观看 | 五月婷婷在线视频 | 亚洲一区二区在线播放 | 欧美自拍第一页 | 国产精品入口久久 | 精品在线观看一区二区 | 天堂资源 | 国产精品一区二区久久精品爱微奶 | 日韩精品一区二区不卡 | 日韩在线欧美 |