日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Perl函數(shù)返回值用法指導(dǎo)

本文和大家重點(diǎn)討論一下Perl函數(shù)返回值的概念,在Perl中,return語句可以返回一個標(biāo)量值或者一個列表,這個標(biāo)量值可以是一個變量,或者一個表達(dá)式的最后求值。

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)溪湖免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

Perl函數(shù)返回值

在Perl中,return語句可以返回一個標(biāo)量值或者一個列表,這個標(biāo)量值可以是一個變量,或者一個表達(dá)式的最后求值,如:return1;<===>return(1);return$a+$b;<===>return($a+$b);
然后,一個Perl函數(shù)的返回值,并不止一個,有的時候會有多個值需要返回,這是就要用到列表,這個列表可以包含多個變量值。

一、單一變量的Perl函數(shù)返回值

 
 
 
  1. #Functiondefinition.
  2. subget_value()
  3. {
  4. my$var;
  5. $var=1;
  6. return($var);
  7. }
  8. #########Mainscript
  9. my$result;
  10. $result=get_value();
  11. print"\$result=$result\n";
  12. #######printresultis:
  13. $result=1;

 二、多個標(biāo)量的Perl函數(shù)返回值

 
 
 
  1. #Functiondefinition.
  2. subget_value()
  3. {
  4. my($var_a,$var_b);
  5. $var_a=1;
  6. $var_b=2;
  7. return($var_a,$var_b);
  8. }
  9. #########Mainscript
  10. my($result_a,$result_b);
  11. ($result_a,$result_b)=get_value();
  12. print"\$result_a=$result_a\n\$result_b=$result_b\n";
  13. #######printresultis:
  14. $result_a=1;
  15. $result_b=2;

 三、數(shù)組的Perl函數(shù)返回值

 
 
 
  1. #Functiondefinition.
  2. subget_value()
  3. {
  4. my(@$var_a,@var_b);
  5. @var_a=(1,2);
  6. @var_b=(30,40);
  7. return(@var_a,@var_b);
  8. }
  9. #########Mainscript
  10. my(@result_a,@result_b);
  11. (@result_a,@result_b)=get_value();
  12. print"\@result_a=@result_a\n\@result_b=@result_b\n";
  13. #######printresultis:
  14. @result_a=1,2,30,40
  15. @result_b=

 #!!!在這里,我們原本希望得到的結(jié)果應(yīng)該是:
@result_a=1,2
@result_b=30,40
但實際上卻并不是這樣,這里一點(diǎn)需要注意的是:Perl中返回值中的列表是被“鋪平(flattened)的”,也就是說:
return(@var_a,@var_b);<====等價===>return($var_a[0],$var_a[1],$var_b[0],$var_b[1]);
所以這個時候,return將會把returnlist里面的值,和接受returnlist里面的變量一一對應(yīng)起來,當(dāng)遇到數(shù)組是表示接受所有值。所以,解決這個問題就需要使用引用,如:

 
 
 
  1. #Functiondefinition.
  2. subget_value()
  3. {
  4. my(@$var_a,@var_b);
  5. @var_a=(1,2);
  6. @var_b=(30,40);
  7. return(\@var_a,\@var_b);
  8. }
  9. #########Mainscript
  10. my(@result_a,@result_b);
  11. my($result_a_ref,$result_b_ref);
  12. ($result_a_ref,$result_b_ref)=get_value();
  13. #hereneedtoencodethereference
  14. @result_a=@$result_a_ref;
  15. @result_b=@$result_b_ref;
  16. print"\@result_a=@result_a\n\@result_b=@result_b\n";
  17. #######printresultis:
  18. @result_a=1,2
  19. @result_b=30,40

 所以對于哈希變量的返回也可以做同樣的處理,當(dāng)有標(biāo)量,數(shù)組,哈希變量一起混合使用的時候也應(yīng)該做同樣的處理。


當(dāng)前標(biāo)題:Perl函數(shù)返回值用法指導(dǎo)
本文來源:http://m.5511xx.com/article/coeeghi.html