perl6中函数参数

Posted FireC@t @ Perl6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl6中函数参数相关的知识,希望对你有一定的参考价值。

sub F($number is copy){
  $number++;
  say $number;
}

F(5);



#下面是错误的
sub F($number){ $number++; say $number; } F(5)

默认情况下, 参数不可更改,如果要更改, 可以加 is copy 或 is rw

 

又或者, 你用原来的参数名字, 像下面这样:

sub F($number){
  my $swap = $number;
  $swap++;
  say $number;
  say $swap;
}
F(5)

 

is copy 跟 is rw的差别

is copy相当于copy一份, 而is rw, 相当于可读写, 参数还是原来的, 这可想像成C中的指针:

 

sub F($number is copy){
  $number++;
  say $number;
}

sub G($number is rw){
  $number++;
  say $number;
}

my $value = 10;
F($value);
say $value;
G($value);
say $value;

 

以上是关于perl6中函数参数的主要内容,如果未能解决你的问题,请参考以下文章

Perl6多线程1: new / run

perl6检测网站CMS脚本

perl6中的hash定义

Perl6多线程3: Promise start / in / await

[ Perl 6 ] Haskell式的Fibonacci函数定义

是否可以将 perl6 嵌入到 C(或 C++)程序中?