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

Perl操作符中綁定和乘號(hào)操作符用法解析

開發(fā) 架構(gòu)
Perl操作符的概念大家應(yīng)該有所了解,這里向大家介紹一下綁定Perl操作符和乘號(hào)Perl操作符,相信通過本文的介紹你對(duì)這兩種操作符有一定的認(rèn)識(shí)。

本文和大家重點(diǎn)討論一下綁定Perl操作符和乘號(hào)Perl操作符,綁定Perl操作符中雙目=~把一個(gè)字串和一個(gè)模式匹配、替換或者轉(zhuǎn)換綁定在一起,并且Perl提供類似C的Perl操作符(乘)、/(除)、和%(模除)。

綁定Perl操作符

雙目=~把一個(gè)字串和一個(gè)模式匹配、替換或者轉(zhuǎn)換綁定在一起。要不然這些操作會(huì)搜索或修改包含在$_(缺省變量)里面的字串。你想綁定的字串放在左邊,而Perl操作符本身放在右邊。返回值標(biāo)識(shí)右邊的Perl操作符的成功或者失敗,因?yàn)榻壎≒erl操作符本身實(shí)際上不做任何事情。

如果右邊的參數(shù)是一個(gè)表達(dá)式而不是模式匹配、子過程或者轉(zhuǎn)換,那運(yùn)行時(shí)該表達(dá)式會(huì)被解釋成一個(gè)搜索模式。也就是說,$_=~$pat等效于$_=~/$pat/。這樣做要比明確搜索效率低,因?yàn)槊看斡?jì)算完表達(dá)式后都必須檢查模式以及可能還要重新編譯模式。你可以通過使用qr//(引起正則表達(dá)式)Perl操作符預(yù)編譯最初的模式的方法來避免重新編譯。

雙目!~類似=~Perl操作符,只是返回值是=~的對(duì)應(yīng)返回值的邏輯非。下面的表達(dá)式功能上是完全一樣的:

$string!~/pattern/
not$string=~/pattern/
我們說返回值標(biāo)識(shí)成功,但是有許多種成功。替換返回成功替換的數(shù)量,轉(zhuǎn)換也一樣。(實(shí)際上,轉(zhuǎn)換Perl操作符常用于字符計(jì)數(shù)。)因?yàn)槿魏畏橇阒刀际钦妫运械亩紝?duì)。最吸引人的真值類型是模式的列表賦值:在列表環(huán)境下,模式匹配可以返回和模式里圓括弧相匹配的子字串。不過,根據(jù)列表賦值的規(guī)則,如果有任何東西匹配并且賦了值,列表賦值本身將返回真,否則返回假。因此,有時(shí)候你會(huì)看到這樣的東西:

if(($k,$v)=$string=~m/(\w+)=(\w*)/){
print"KEY$kVALUE$v\n";
}
讓我們分解這個(gè)例子。=~的優(yōu)先級(jí)比=高,因此首先計(jì)算=~。=~把字串$string綁定與右邊的模式進(jìn)行匹配,右邊是掃描你的字串里看起來象KEY=VALUES這樣的東西。這是在列表環(huán)境里,因?yàn)樗窃谝粋€(gè)列表賦值的右邊。如果匹配了模式,它返回一個(gè)列表并賦值給$k和$v。列表賦值本身是在標(biāo)量環(huán)境,所以它返回2--賦值語句右邊的數(shù)值的個(gè)數(shù)。而2正好又是真——因?yàn)闃?biāo)量環(huán)境也是一個(gè)布爾環(huán)境。當(dāng)匹配失敗,沒有賦值發(fā)生,則返回零,是假。

關(guān)于模式規(guī)則的更多內(nèi)容,參閱第五章,模式匹配。

乘號(hào)Perl操作符

Perl提供類似C的Perl操作符(乘)、/(除)、和%(模除)。和/的運(yùn)行和你預(yù)料的一樣,對(duì)其兩個(gè)操作數(shù)進(jìn)行乘或除。除法是以浮點(diǎn)數(shù)進(jìn)行的,除非你用了integer用法模塊。

%Perl操作符在用整數(shù)除法計(jì)算余數(shù)前,把它的操作數(shù)轉(zhuǎn)換為整數(shù)。(不過,如果必要,它會(huì)以浮點(diǎn)進(jìn)行除法,這樣你的操作數(shù)在大多數(shù)32位機(jī)器上最多可以有(以浮點(diǎn))15位。)假設(shè)你的兩個(gè)操作數(shù)叫$b和$a。如果$b是正數(shù),那么$a%$b的結(jié)果是$a減去$b不大于$a的最大倍數(shù)(也就意味著結(jié)果總是在范圍0..$b-1之間)。如果$b是負(fù)數(shù),那么$a%$b的結(jié)果是$a減去$b不小于$a的最小倍數(shù)(意味著結(jié)果介于$b+1..0之間)。

當(dāng)useinteger在范圍里時(shí),%直接給你由你的C編譯器實(shí)現(xiàn)的模除Perl操作符。這個(gè)Perl操作符對(duì)負(fù)數(shù)定義得不是很好,但是執(zhí)行得更快。

雙目x是復(fù)制Perl操作符。實(shí)際上,它是兩個(gè)Perl操作符,在標(biāo)量環(huán)境里,它返回一個(gè)由左操作數(shù)重復(fù)右操作數(shù)的次數(shù)連接起來的字串。(為了向下兼容,如果左操作數(shù)沒有位于圓括弧中,那么它在列表環(huán)境里也這樣處理。)

print'-'x80;#打印一行劃線
print"\t"x($tab/8),''x($tab%8);#跳過
在列表環(huán)境里,如果左操作數(shù)是在圓括弧中的列表,x的作用是一個(gè)列表復(fù)制器,而不是字串復(fù)制器。這個(gè)功能對(duì)初始化一個(gè)長(zhǎng)度不定的數(shù)組的所有值為同一值時(shí)很有用:

@ones=(1)x80;#一個(gè)80個(gè)1的列表
@ones=(5)x@ones;#把所有元素設(shè)置為5
類似,你還可以用x初始化數(shù)組和散列片段:

@keys=qw(perlsbeforeswine);
@hash{@keys}=("")x@keys;
如果這些讓你迷惑,注意@keys被同時(shí)當(dāng)做一個(gè)列表在賦值左邊使用和當(dāng)做一個(gè)標(biāo)量值(返回?cái)?shù)組長(zhǎng)度)在賦值語句右邊。前面的例子在%hash上有相同的作用:

$hash{perls}="";
$hash{before}="";
$hash{swine}="";

【編輯推薦】

  1. 暢談Perl操作符用法
  2. 解析四大Perl操作符用法
  3. Perl二維數(shù)組用法全程剖析
  4. 全面認(rèn)識(shí)Perl操作符
  5. Perl多線程的兩種實(shí)現(xiàn)方式
責(zé)任編輯:佚名 來源: javaeye.com
相關(guān)推薦

2010-07-19 11:00:24

Perl操作符

2010-07-14 14:18:51

Perl操作符

2010-07-19 11:12:43

Perl 不等于

2010-07-14 14:46:57

Perl操作符

2010-07-14 14:30:31

Perl操作符

2009-08-21 09:30:05

is和as操作符

2010-07-13 11:11:39

Perl標(biāo)量

2010-07-15 09:49:23

Perl標(biāo)量

2021-10-31 18:59:55

Python操作符用法

2009-08-19 17:26:28

C# 操作符

2011-04-08 16:26:14

JavaScript

2009-09-15 17:16:58

LINQ查詢操作符

2012-02-06 09:13:23

LINQ

2009-09-16 09:09:23

Linq Contai

2009-07-21 09:31:00

Scala操作符

2016-11-17 15:35:51

RxJava操作Subscriber

2010-01-28 11:16:28

C++操作符

2016-12-28 09:54:50

AndroidRxJava操作符

2017-01-03 16:12:13

RxJava操作符Android

2009-07-14 18:34:22

Jython操作符重載
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 韩日一区二区三区 | 在线观看av网站 | 久久久高清 | 免费黄色a视频 | 亚洲精品高清视频在线观看 | 成人在线视频网址 | 精品99在线| 九九热在线视频 | 国产视频中文字幕 | 亚洲精品一区中文字幕乱码 | 久久成人一区 | 国产 欧美 日韩 一区 | 成人午夜免费福利视频 | 精品欧美一区二区三区久久久 | 欧美成人黄色小说 | 一区二区三区在线免费看 | 一级毛片视频在线观看 | 麻豆久久久久久 | 中文字幕免费在线 | 精品亚洲一区二区三区 | 一区二区三区四区在线视频 | 二区亚洲| 四虎影院免费在线播放 | 亚洲国产成人在线视频 | 国产精品久久久久久妇女6080 | 国产精品爱久久久久久久 | 毛片一区二区三区 | 日韩高清一区 | 午夜视频在线观看一区二区 | 九九热视频这里只有精品 | 久久综合国产精品 | 久久久久亚洲精品国产 | 国产日韩视频在线 | 国产视频一区二区 | 日韩毛片在线视频 | 成人免费视频 | 美女久久久 | 国产乱性| 欧美综合久久 | 国产一区不卡在线观看 | 亚洲精品影院 |