Perl 的布林值
文章推薦指數: 80 %
這相當簡單。
讓我引述一下文件:. 數字0,字串'0',和'',空串列(),和undef 在布 ...
Togglenavigation
PerlMaven
PerlTutorial
Typekeyword:
Archive
About
Perl的布林值
undef
true
false
boolean
Perl沒有特定的布林值,但在Perl的文件中你經常會看到函數回傳「布林」值。
有時候這文件會說函式回傳真值或是假值。
哪個才是對的?
Perl確實沒有特定的布林型別,但凡純量皆是—如果用if來確認,非真值即假值。
所以你可以寫
if($xeq"foo"){
}
你也可以寫
if($x){
}
前者會確認$x變數的內容是否和"foo"字串一致
後者則會確認$x本身是真值或否。
哪些值在Perl裡是真值,哪些是假值?
這相當簡單。
讓我引述一下文件:
數字0,字串'0',和'',空串列(),和undef在布林語境都是假值。
其他值都是真值。
用!和not來否定一個真值會回傳一個特別的假值。
當被估算為字串時它被當作'',估算為數字時,,被當作0。
引自perlsyn的"TruthandFalsehood"一節。
所以下列純量被認為是假值。
undef—未定義值
0—數字0,無論你寫成000或是0.0
''—空字串
'0'—只包含一個羅馬數字0的字串
所有其他純量,包含下列,都是真值:
1和任何非零數
''—包含一個空白的字串
'00'—兩個或許多數字零組成的字串
"0\n"—一個數字零接上一個換行字元
'true'
'false'—是的,即使字串'false'也是真值
我想這是因為Perl之父,LarryWall,
有相當正向的世界觀。
他也許覺得世界上只有很少事情是很糟糕錯誤的。
大部分事情都是對的。
TranslatedbyShellingFord
Writtenby
GaborSzabo
Publishedon2013-04-16
Ifyouhaveanycommentsorquestions,feelfreetopostthemonthesourceofthispageinGitHub.SourceonGitHub.
Commentonthispost
Deutsch
English
Español
Français
Italiano
Português
Русский
עברית
正體中文
简体中文
한국어
aboutthetranslations
延伸文章資訊
- 1[Perl]常用正則表達式整理 - CSDN博客
正則表達式通常縮寫成「regex」,單數有regexp、regex,複數有regexps、regexes、regexen。 一、校驗數字的表達式. 數字:^[0-9]*$; n位的數字:^\d{...
- 2Perl Regular Expression Syntax - 1.41.0 - Boost C++ Libraries
Perl regular expressions are the default behavior in Boost. ... The * operator will match the pre...
- 3Perl的基本語法
我分做資料型態、控制敘述、副程式、I/O和檔案處理、Regular Expressions、Spectial Variables、Help 這幾部分來講解,但只是敘述了一些Perl的基本語法而已...
- 4Perl 常用的regexp 規則列表 - 朝陽科技大學
Perl 常用的regexp 規則列表 ... 相當於 {0,1}; * 重複出現任意次, 包含0 次。 ... 第一, perl 有一個很容易記的規則: 凡是標點符號, 加上倒斜線, 一定沒有...
- 5What does =~/^0$/ mean in Perl? - Stack Overflow
Sound like that perl script is an awesome piece of code. =~ /^0$/ is a regular expression applied...