【perl】学习笔记(六)--方法的使用

2017-10-29 21:05:16来源:CSDN作者:baidu_39511645人点击

分享

1.定义一个方法

  Perl使用sub定义方法。

  语法:

  sub 方法名称{方法体}

2.调用一个方法

  Perl直接使用方法名称调用方法。

  调用方式有以下四种:

    方法名称;

    &方法名称;

    方法名称();

    &方法名称();

  说明:方法调用可以再任何位置,可以在方法前、后调用,也可以在方法体内部调用。

  

3.传递参数

  Perl通过方法名后面的括号将参数列表传递到方法体内。例如:function_name("param1","param2"...);

  方法体内部通过@_接收参数。@_是数组。取值的方法也可以采用下标的形式取得。

  关于传值和传引用:

    1.直接将值写进方法后面的括号内就是传值,将标量($xxx)、数组(@xxxx)、哈希结构(%xxx)放进去就是传引用。

    2.如果没有改变变量值的需求的情况下,不推荐使用@_[i]的方式进行取值。首先,会导致引用对象的改变,其次,并不能明确表明代表的是什么意思。

      可使用($param1,$param2...)=@_; 的方式取值运算。

    3.关于传引用

      • 如何取变量的引用?Perl使用"/"来取变量的引用。例如:$ref = /$value;$ref = /@arr;$ref = /%hash;
      • 如何理解引用? 你可以认为$ref就是指代那个变量名称。实际上是一个内存地址,只是为了方便记忆,而且它的引用方法也告诉我们就是这个意思.
      • 如何获取引用指向的值?根据引用类型的不同,采用不同的符:引用的值为普通值$$ref,数组@$ref,哈希结构%$ref.是不是和上面说的一样呢?

4.方法的返回值

  可以使用return显示的返回值。也可不用return。

简单示例,帮助理解

[python] view plain copy
  1. #!user/bin/env perl -w  
  2. #定义一个函数  
  3. sub fun_say_hello{  
  4.     print "hello,world!/n";  
  5. }  
  6.   
  7. #引用函数  
  8. fun_say_hello;  
  9. &fun_say_hello;  
  10. fun_say_hello();  
  11. &fun_say_hello();  
  12.   
  13. #传递参数  
  14. sub fun_say_hello_with_name{  
  15.     ($name) = @_;  
  16.     print "hello,$name!/n";  
  17. }  
  18.   
  19. fun_say_hello_with_name("Tom");  
  20.   
  21. #传值和传引用  
  22. sub fun_change_name1{  
  23.     ($fname) = @_;  
  24.     $fname = "Jack";  
  25. }  
  26.   
  27. sub fun_change_name2{  
  28.     @_[0] = "Jack";  
  29. }  
  30.   
  31. $name = "Tony";  
  32. fun_change_name1($name);  
  33. print "$name/n";  
  34. fun_change_name2($name);  
  35. print "$name/n";  
  36.   
  37. #返回值  
  38. sub check_login{  
  39.     ($name) = @_;  
  40.     if ($name eq "Tony")  
  41.     {  
  42.         return "welcome/n";  
  43.     }  
  44.     else  
  45.     {  
  46.         "sorry/n";  
  47.     }  
  48. }  
  49.   
  50. print check_login("Tony");  
  51. print check_login("Jack");

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台