欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

開發(fā)日記-20190705 關(guān)鍵詞 讀書筆記 《Perl語言入門》Day 2 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?

您當(dāng)前位置>首頁 » 新聞資訊 » 技術(shù)分享 >

開發(fā)日記-20190705 關(guān)鍵詞 讀書筆記 《Perl語言入門》Day 2

發(fā)表時(shí)間:2019-7-5

發(fā)布人:葵宇科技

瀏覽次數(shù):69

Preface


Content

運(yùn)行程序時(shí),Perl內(nèi)部的編譯器會先載入整個源程序,將之轉(zhuǎn)換成內(nèi)部使用的bytecode,這是一種Prel在內(nèi)部用來表示程序語法樹的數(shù)據(jù)結(jié)構(gòu),然后交給Perl的bytecode引擎運(yùn)行.所以,如果在第200行有個語法錯誤,那么在開始運(yùn)行第二行代碼之前,Perl就會報(bào)告這個錯誤.

英語跟許多其他語言一樣區(qū)別單數(shù)(singular)和復(fù)數(shù)(plural).作為一個由人類語言學(xué)家設(shè)計(jì)的計(jì)算機(jī)語言,Perl也有類似的區(qū)別.一般來說,Perl用標(biāo)量(scalar)來稱呼單個失誤.標(biāo)量是Perl里面最簡單的一種數(shù)據(jù)類型.對大部分標(biāo)量來說,它要么是數(shù)字(比如255或是3.25e20),要么是由字符組成的序列(比如hello或者林肯總統(tǒng)的Gettysburg演講詞).雖然你可能認(rèn)為數(shù)字和字符串是兩碼事,但對Perl來講,這兩者大多情況下都是可以在內(nèi)部轉(zhuǎn)換的.

所有的內(nèi)部格式都相同

接下來,我們會看到如何設(shè)定整數(shù)(不帶小數(shù)點(diǎn)的數(shù)字,比如255和2001)以及浮點(diǎn)數(shù)(帶有小數(shù)點(diǎn)的數(shù)字,比如3.14159或者1.35*10^25等).但在Perl內(nèi)部,則總是按"雙精度浮點(diǎn)數(shù)"的要求來保存數(shù)字并進(jìn)行運(yùn)算的.也就是說Perl內(nèi)部并不存在整數(shù)值–程序中用到的整型常量會被轉(zhuǎn)換成等效的浮點(diǎn)數(shù)值.

浮點(diǎn)數(shù)直接量

整數(shù)直接量:Perl允許你在整數(shù)直接量中插入下劃線,將若干位數(shù)分開,寫成這樣看起來就很清楚了:
61_298_040_283_768

和許多其他程序語言一樣,Perl也允許使用十進(jìn)制(decimal)以外的其他進(jìn)制來表示數(shù)字.八進(jìn)制(octal)直接量以0開頭,十六進(jìn)制(hexadecimal)直接量以0x開頭,而二進(jìn)制(binary)直接量則以0b開頭.十六進(jìn)制的A到F(或是小寫的a到f也行),代表十進(jìn)制數(shù)的10到15的數(shù)字.

Perl還支持取模(modulu)操作符(%).表達(dá)式10%3的結(jié)果是1,也就是10除以3的榆樹.取模操作符先取整然后再求余,所以10.5%3.2和10%3的計(jì)算結(jié)果是相同的.另外,Perl也提供類似FORTRAN語言的乘冪(exponentiation)操作符,滿足了許多Pascal和C用戶的心愿.乘冪操作符以雙星號表示,比如2**3代表2的3次方,計(jì)算結(jié)果為8.

Perl完全支持Unicode,所以在字符串中可以使用任意一個合法的Unicode字符串.不過由于Perl的歷史原因,它不會自動將程序源代碼當(dāng)做Unicode源碼的文本文件讀入,所以如果你想要在源代碼中使用Unicode書寫直接量的話,得手工加上utf8編譯指令:

use utf8;

反斜線后面跟上不同的字符,可以表示各種不同的意義(一般我們把這種借助反斜線組合表示特殊字符的方法稱作反斜線轉(zhuǎn)義).在雙引號內(nèi)的字符串直接量內(nèi)允許使用的比較完整的轉(zhuǎn)義字符清單如表2-1所示.

組合意義\n換行\(zhòng)r回車\t水平制表符\f換頁符\b退格\a系統(tǒng)響鈴\eEsc(ASCII編碼的轉(zhuǎn)義字符)\007八進(jìn)制表示的ASCII值(此例007表示系統(tǒng)響鈴)\0x7f十六禁止表示的ASCII值(此例中7f表示刪除鍵的控制代碼)\x{2744}十六進(jìn)制表示的Unicode代碼點(diǎn)(這里的U+2744表示雪花形狀的圖形字符)\cC控制符,也就是Control鍵的代碼(此例表示同事按下Ctrl和C的返回碼)\反斜線|雙引號\l將下一個字母轉(zhuǎn)化為小寫的\L將它后面的所有字母都轉(zhuǎn)化為小寫的,直到\E為止\u將下一個字母轉(zhuǎn)為大寫的\U將它后面的字母都轉(zhuǎn)為大寫的,直到\E為止\Q相當(dāng)于把它到\E之間的非單詞(non word)字符加上反斜線轉(zhuǎn)義\E結(jié)束\L,\U和\0開始的作用范圍
數(shù)字與字符串之間的自動轉(zhuǎn)換

通常Perl會根據(jù)需要,自動在數(shù)字和字符串之間進(jìn)行類型轉(zhuǎn)換.那它究竟是如何知道炫耀歐數(shù)字還是字符串呢?這完全取決于操作符.如果操作符(比如+)需要的是數(shù)字,Perl就會將操作數(shù)視為數(shù)字;在操作符(比如.)需要字符串時(shí),Perl變回將操作數(shù)視為字符串.因此,你不用擔(dān)心數(shù)字和操作符之間的差異,只管合理使用操作符,Perl會自動就能夠完成剩下的工作.

對數(shù)字進(jìn)行運(yùn)算的操作符(比如乘法)如果遇到字符串類型的操作數(shù),Perl會自動將字符串轉(zhuǎn)換成等效的十進(jìn)制浮點(diǎn)數(shù)進(jìn)行運(yùn)算.字符串中非數(shù)字的部分(以及前置的空白符號)會被略過,所以"12fred34" * "3"也會得出36,而不會出現(xiàn)任何警告信息.在最極端的情況下,完全不含數(shù)字的字符串會被轉(zhuǎn)換成0.

"前置0"的技巧只對直接量有效,不能用于字符串的自動轉(zhuǎn)換,自動轉(zhuǎn)換總是按照十進(jìn)制數(shù)字來處理的.

標(biāo)量變量

所謂變量,及時(shí)儲存一個或多個值的容器的名稱.而標(biāo)量變量,就是單單存儲一個值的變量.

Perl程序里面的大部分變量名稱都習(xí)慣使用全小寫,正如你在本書中看到的例子一樣,只有少數(shù)集中情況中才都會用大大寫字母.而使用全大寫的(比如 A R G V ) 變 量 一 般 都 是 表 示 特 殊 意 義 的 變 量 . 如 果 變 量 名 不 止 一 個 單 詞 , 有 人 喜 歡 用 下 劃 線 分 開 , 如 ARGV)變量一般都是表示特殊意義的變量.如果變量名不止一個單詞,有人喜歡用下劃線分開,如 ARGV).,,underscores_are_cool,也有人喜歡用$giveMeInitialCaps這種風(fēng)格.當(dāng)然你也可以使用全部大寫的變量名,但這么以來就有可能和Perl保留的特殊變量的名稱相沖突.所以最好還是不要用全大寫的名稱.

用Print輸出結(jié)果

一般我們都想要程序輸出寫什么信息來,否則,也許會有人認(rèn)為它什么事都沒做.print操作符就是用來完成這項(xiàng)任務(wù)的:它可以接收標(biāo)量值作為參數(shù),然后不經(jīng)修飾地將它傳送到標(biāo)準(zhǔn)輸出(standard output).除非特別指定,否則一般默認(rèn)的"標(biāo)準(zhǔn)輸出",指的就是終端屏幕.

借助代碼點(diǎn)創(chuàng)建字符

有時(shí)候我們需要輸入鍵盤上沒有的那些字符.取得這些字符的方法得看用的是什么系統(tǒng)的輸入法或者哪一款文本編輯器.不過,與其非禮尋找字型輸入,還不如直接鍵入這些字符的代碼點(diǎn)(code point),再通過chr()函數(shù)轉(zhuǎn)換成對應(yīng)字符來的方便:
反過來,我們可以聽過ord()函數(shù)把字符轉(zhuǎn)換為代碼點(diǎn)

define函數(shù)

行輸入操作符有時(shí)候會返回undef.在一般情況下,它會返回同一行文本.但若沒有更多輸入,比如讀到文件結(jié)尾(end-of-file)時(shí),它會返回undef來表示這個狀況.要判斷某個字符串是undef而不是空字符串,可以使用defined函數(shù).如果是undef,該函數(shù)返回假,否則返回真.

列表(list)指的是標(biāo)量的有序集合,而數(shù)組(array)則是儲存列表的變量.在Perl里,這兩個術(shù)語常?;煊?。不過更精確地說,列表指的是數(shù)據(jù),而數(shù)組指的是變量。列表的值不一定要放在數(shù)組里,但每個數(shù)組變量都一定包含一個列表(即使是不含任何元素的空列表)。

因?yàn)槊總€元素都是獨(dú)立不想管的標(biāo)量值,所以列表或數(shù)組可能包含數(shù)字,字符串,undef值或不同類型標(biāo)量值的混合。


Daily Task

終有一天,你會老去,而我,將會加冕為王!

相關(guān)案例查看更多