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

Perl函數返回值用法指導

開發 架構
Perl編程語言中Perl函數返回值用法你是否比較熟悉,這里向大家簡單介紹一下,希望本文的介紹能讓你有所收獲歡迎大家一起來學習有關Perl語言的相關內容。

本文和大家重點討論一下Perl函數返回值的概念,在Perl中,return語句可以返回一個標量值或者一個列表,這個標量值可以是一個變量,或者一個表達式的最后求值。

Perl函數返回值

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

一、單一變量的Perl函數返回值

  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;  

 二、多個標量的Perl函數返回值

  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;  

 三、數組的Perl函數返回值

  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=  
  16.  

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

  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  

 所以對于哈希變量的返回也可以做同樣的處理,當有標量,數組,哈希變量一起混合使用的時候也應該做同樣的處理。

【編輯推薦】

  1. Perl語言中Perl函數返回值問題解析
  2. 專家推薦 Perl入門教程
  3. Perl引用中直接引用用法解析
  4. Perl基礎 Perl包概念詳解
  5. 技術分享 解析Perl模塊創建和導入方法
責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-20 11:37:00

Perl函數返回值

2010-07-26 10:09:01

Perl split函

2010-07-23 14:12:14

Perl Hash

2010-07-26 14:45:17

Perl Hash

2010-07-26 15:17:51

Perl解析XML文件

2010-07-20 13:02:08

Perl數組

2010-07-15 09:10:08

Perl函數手冊

2022-11-09 07:42:51

Python編程函數

2010-07-26 16:23:23

Perl語言

2010-07-19 10:01:57

Perl函數

2010-07-23 15:59:33

Perl encode

2010-07-21 10:05:13

Perl文本處理模塊

2010-07-23 13:23:10

Perl語言

2021-08-13 11:31:23

HTTP

2009-11-17 16:16:59

PHP遞歸函數

2010-07-19 15:01:26

Perl數學函數

2010-07-21 13:53:07

Perl引用

2010-07-16 16:56:01

Perl構造函數

2010-07-23 13:53:33

Perl grep函數

2010-07-19 14:13:41

Perl函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美在线一区 | 久久国内精品 | 五月婷婷 六月丁香 | 成年人网站免费 | 日韩欧美国产一区二区 | 亚洲在线 | 日本一区二区影视 | 成人国产综合 | 欧美日韩成人在线 | 欧美www在线观看 | 中文字幕一区在线 | 亚洲手机在线 | 成人欧美一区二区三区黑人孕妇 | 国产在线小视频 | 精品一二三区在线观看 | 国产在线网址 | 日韩在线视频免费观看 | 99精品久久| 日韩免费一区 | 美美女高清毛片视频免费观看 | 日韩a视频 | 精品久久久久久久久久久久 | 中文字幕日韩欧美一区二区三区 | 国产高清亚洲 | 777zyz色资源站在线观看 | 久久九九99 | 欧美另类日韩 | 精品在线 | 久久大香 | 黄色免费av| 亚洲一区二区久久久 | 一区二区三区不卡视频 | 久久久久国产精品一区 | 久久99精品国产 | 日韩高清在线观看 | 一区二区视频 | 久久久精品一区二区三区 | 亚洲精品久久区二区三区蜜桃臀 | 欧美日韩在线不卡 | 国产一区免费视频 | 国产99精品|