你能想到Perl 6 的聯結有什麼用途? (What uses can you think ...
文章推薦指數: 80 %
問題描述你能想到Perl 6 的聯結有什麼用途? (What uses can you think of for Perl 6's junctions?) More information from the Perl 6 Wikipedia entry Junctions ...
你能想到Perl6的聯結有什麼用途?(WhatusescanyouthinkofforPerl6'sjunctions?)問題討論你能想到Perl6的聯結有什麼用途?(WhatusescanyouthinkofforPerl6'sjunctions?)問題描述你能想到Perl6的聯結有什麼用途?(WhatusescanyouthinkofforPerl6'sjunctions?)更多信息來自Perl6維基百科條目JunctionsPerl6引入了junctions的概念:由其他值組合而成的值。
[24]在Perl6設計的早期,這些被稱為“疊加”,類似於量子物理學中的量子疊加概念——可以同時佔據多個狀態的波形,直到觀察“崩潰”它們。
DamianConway在2000年發布的一個名為Quantum::Superpositions[25]的Perl5模塊提供了初步的概念證明。
起初,這種疊加的價值觀似乎只是一種程序性的好奇心,隨著時間的推移,它們的實用性和直觀性得到了廣泛的認可,並且聯結現在在Perl6的設計中佔據了中心位置。
在最簡單的形式中,聯結是通過將一組值與聯結運算符組合來創建的:my$any_even_digit=0|2|4|6|8;#any(0,2,4,6,8)
my$all_odd_digits=1&3&5&7&9;#all(1,3,5,7,9)
|表示一個等於其左側或右側參數的值。
&表示一個值,它等於它的左參數和右手參數。
這些值可以在任何使用正常值的代碼中使用。
在一個聯結上執行的操作平等地作用於該聯結的所有成員,並根據聯結運算符進行組合。
所以,("apple"|"banana")~"s"會產生"apples"|"bananas"。
在比較中,聯結會返回一個true或false比較結果。
“任何”如果對聯結的任何一個元素的比較為真,則聯結返回真。
如果比較對於連接的所有元素都為真,則“所有”連接返回true。
連接還可以通過引入一種限制為的泛型編程風格來更豐富地擴充類型系統類型的連接點:subget_tint(RGB_Color|CMYK_Color$color,num$opacity){...}
substore_record(Record&Storable$rec){...}
參考解法方法1:Howmanydaysareinagivenmonth?given($month){
whenany(qw'135781012'){
$day=31
}
whenany(qw'46911'){
$day=30
}
when2{
$day=29
}
}
方法2:Themostattractivefeatureofjunctionsisthatyoudon'tneedtowritealotofcodetestforcomplexsituations.Youdescribethesituationwiththejunctions,thenapplythetest.Youdon'tthinkabouthowyougettheanswer(forinstance,usingshortcircuitoperatorsorifblocks)butwhatquestionyouareasking.方法3:Autothreadingsoundscool,althoughIdon'tknowwhatitscurrentstatusis.forall(@files)‑>$file{
do_something($file);
}
Junctionshavenoorder,sotheVMisfreetospawnathreadforeveryelementin@filesandprocessthemallinparallel.(bymbac32768、BradGilbert、briandfoy、Eevee)參考文件WhatusescanyouthinkofforPerl6'sjunctions?(CCBY‑SA2.5/3.0/4.0)#perl相關問題保持特定位數的簡單Perl數學(simplePerlmathwhilekeepingaspecificnumberofdigits)如何在Windows批處理腳本或Perl中將文件移動到回收站?(HowcanImovefilestotheRecycleBininaWindowsbatchscriptorPerl?)從子程序返回數組(Returnarrayfromsubroutine)我可以以與操作系統無關的方式限制Perl進程使用的內存嗎?(CanIIimitthememoryusedbyaPerlprocessinanOS-agnosticway?)$#在perl中接受什麼作為輸入?(whatdoes$#acceptasinputinperl?)PerlText::CSV_XS從字符串中讀取(PerlText::CSV_XSreadfromstring)使用excel2010更新批處理文件中的變量(useexcel2010toupdatevariablesinbatchfile)在perl中為哈希添加值(Addingvaluetoanhashinperl)為什麼perl會忽略我的正則表達式中的多餘字符?(Whydoesperlignoreextracharactersinmyregex?)boost::regex-\bb?(boost::regex-\bb?)如果小於X天,如何從磁盤讀取文件,如果舊,則重新獲取html文件(HowtoreadafilefromthediskiflessthanXdaysold,ifolder,refetchthehtmlfile)使用Devel-Cover獲取覆蓋率報告(UsingDevel-Covertogetcoveragereports)留言討論提交送出編輯提交送出編輯提交送出回覆提交送出歡迎回家×使用Github帳號登入使用Google帳號登入取消免費加入CoderBridge×使用Github帳號註冊使用Google帳號註冊取消
延伸文章資訊
- 1Perl - 維基百科,自由的百科全書
Perl是高階、通用、直譯式、動態的程式語言家族。最初設計者拉里·沃爾為了讓在UNIX上進行報表處理的工作變得更方便,決定開發一個通用的手稿語言,而在1987年12月18日 ...
- 2你能想到Perl 6 的聯結有什麼用途? (What uses can you think ...
問題描述你能想到Perl 6 的聯結有什麼用途? (What uses can you think of for Perl 6's junctions?) More information fr...
- 3perl:Perl是一種高級、通用、直譯式、動態的程式語言。最初的 ...
Perl是一種高級、通用、直譯式、動態的程式語言。最初的設計者為拉里·沃爾(LarryWall),他於1987年12月18日發表。Perl借取了C、sed、awk、shellscripting以...
- 4Perl 简介 - 菜鸟教程
Perl 简介Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。 Perl 语言的应用 ...
- 5Perl的優點與缺點 - 每日頭條
儘管Perl 在系統程式設計師和web 設計師中間非常流行,但這只是因為是他們最早發現Perl 的,Perl 可以用於更廣泛的用途。從Perl 最早的文本處理語言 ...