perl6中函数参数

Posted FireC@t @ Perl6

tags:

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

 1 use v6;
 2 #如果参数是可选的, 可以在后面加个?后定义
 3 sub Choo($x, $y?){
 4   say $x+$y;
 5 }
 6 Choo(1);
 7 Choo(1,2);
 8 #具名参数, 也就是字典形式的调用
 9 sub Dit(:name($n), :age($a)){
10   say $n, is , $a;
11 }
12 Dit(name => root, age => 360);
13 Dit(age=>php, name=>localhost);
14 Dit(:name(li), :age(20));
15 #具名参数, 在定义时, 可可以这样
16 sub Dit2(:$name, :$age){
17   say $name,|, $age;
18 }
19 #还可以这样调用, 当没带值时, 只加:时, 默认为Treu, 加:!时, 默认为False
20 Dit2(:name, :!age);
21 
22 #如果不知道有多少个参数, 要收集所有参数, 可以用一个*放在变量前收集
23 #这个*表示收集, 后面的@all还是表示一个数组(注意)
24 sub All($user, *@all){
25   say $user;
26   say @all;
27 }
28 All(1,2,3,4,5);
29 #还可以这样收集
30 sub All2($user, *%all){
31   say $user;
32   say %all.kv;
33 }
34 All2(1,a=>1,b=>2);
35 All2(1,:a(2), :b, :!c);
36 
37 
38 
39 sub Arr($a, @a, %a){
40   say $a;
41   say @a;
42   say %a.kv;
43 }
44 my $a=1;
45 my @a=1;
46 my %a=(:a);
47 Arr($a, @a, %a);

 

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

Perl6多线程1: new / run

perl6检测网站CMS脚本

perl6中的hash定义

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

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

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