perl6中函数参数(2)
use v6;
#如果参数是可选的, 可以在后面加个?后定义
sub Choo($x, $y?){
say $x+$y;
}
Choo();
Choo(,);
#具名参数, 也就是字典形式的调用
sub Dit(:name($n), :age($a)){
say $n,' is ', $a;
}
Dit(name => 'root', age => '360');
Dit(age=>'php', name=>'localhost');
Dit(:name('li'), :age());
#具名参数, 在定义时, 可可以这样
sub Dit2(:$name, :$age){
say $name,'|', $age;
}
#还可以这样调用, 当没带值时, 只加:时, 默认为Treu, 加:!时, 默认为False
Dit2(:name, :!age); #如果不知道有多少个参数, 要收集所有参数, 可以用一个*放在变量前收集
#这个*表示收集, 后面的@all还是表示一个数组(注意)
sub All($user, *@all){
say $user;
say @all;
}
All(,,,,);
#还可以这样收集
sub All2($user, *%all){
say $user;
say %all.kv;
}
All2(,a=>,b=>);
All2(,:a(), :b, :!c); sub Arr($a, @a, %a){
say $a;
say @a;
say %a.kv;
}
my $a=;
my @a=;
my %a=(:a);
Arr($a, @a, %a);
perl6中函数参数(2)的更多相关文章
- perl6中函数参数(1)
sub F($number is copy){ $number++; say $number; } F(); #下面是错误的 sub F($number){ $number++; say $numbe ...
- (转)python中函数参数中如果带有默认参数list的特殊情况
在python中函数参数中如果带有默认参数list遇到问题 先看一段代码 1 2 3 4 5 6 7 8 9 def f(x,l=[]): for i in range(x): ...
- c语言中函数参数入栈的顺序是什么?为什么
看到面试题C语言中函数参数的入栈顺序如何? 自己不知道,边上网找资料.下面是详细解释 #include <stdio.h> void foo(int x, int y, int z){ ...
- python中函数参数的引用方式
值传递和引用传递时C++中的概念,在python中函数参数的传递是变量指向的对象的物理内存地址!!! python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是“传对象引用”的方 ...
- php与js中函数参数的默认值设置
php函数参数默认值设置: <?phpfunction test($val=3){ echo $val."<br/>";}test(11);test();?& ...
- JavaScript中函数参数的按值传递与按引用传递(即按地址传递)
首先声明一句:JavaScript中所有函数的参数都是按值传递的!不存在按引用传递! 在讲传递参数之前我们先来讲一下指针. 学过C指针的应该都知道,指针变量中保存的是一个地址,程序可以根据所保存的地址 ...
- JS中函数参数和函数返回值的理解
函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能 ...
- JavaScript中函数参数的值传递和引用传递
结论: 对于数字.字符串等基本类型变量,是将它们的值传递给了函数参数,函数参数的改变不会影响函数外部的变量. 对于数组和对象等是将对象(数组)的变量的值传递给了函数参数,这个变量保存的指向对象(数组) ...
- Delphi 中 函数参数中的 const 修饰符的本质以及注意事项
来自:http://blog.csdn.net/farrellcn/article/details/9096787 ------------------------------------------ ...
随机推荐
- js 控制
js 制动控制 代码 是 :setInterval(function(){$(".egg").click();},1000); 使用方法:调出浏览器放控制台(console),一般 ...
- 解决爬虫浏览器中General显示 Status Code:304 NOT MODIFIED,而在requests请求时出现403被拦截的情况。
在此,非常感谢 “完美风暴4” 的无私共享经验的精神 在Python爬虫爬取网站时,莫名遇到 浏览器中General显示 Status Code: 304 NOT MODIFIED 而在req ...
- Mysql查询优化从入门到跑路(一)数据库与关系代数
1.怎样才算是数据库? ACID,是指在数据库管理系统中事务所具有的四个特性 1)原子性 2)一致性 3)隔离性 4)持久性 关系数据库,基于关系代 ...
- bzoj4753[JSOI2016]最佳团体
题意:01分数规划,但可选的数字之间存在森林形的依赖关系(可以认为0号点是个虚根,因为并不能选). 虽然有森林形的依赖关系,但还是可以套分数规划的思路,二分答案k,判断是否存在一个比值大于k的方案 即 ...
- [2018集训队作业][UOJ450] 复读机 [DP+泰勒展开+单位根反演]
题面 传送门 思路 本文中所有$m$是原题目中的$k$ 首先,这个一看就是$d=1,2,3$数据分治 d=1 不说了,很简单,$m^n$ d=2 先上个$dp$试试 设$dp[i][j]$表示前$i$ ...
- Android 常用dialog提示对话框
在android应用程序中,经常需要用到dialog对话框让用户知道现在所在进行的操作(比如耗时的操作),或者提示某些信息和状态等,算是比较常用的一个知识点: 1.简单对话框 protected vo ...
- BZOJ1503:[NOI2004]郁闷的出纳员——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1503 (题面复制的洛谷的,因为洛谷好看) 题目描述 OIER公司是一家大型专业化软件公司,有着数以万 ...
- CodeForces 185A. Plant (矩阵快速幂)
CodeForces 185A. Plant (矩阵快速幂) 题意分析 求解N年后,向上的三角形和向下的三角形的个数分别是多少.如图所示: N=0时只有一个向上的三角形,N=1时有3个向上的三角形,1 ...
- 添加网站标题logo
如何在标题栏title前添加网站logo? 第一种方法:据说在网站根目录下放着我们的ico型logo,命名为favicon.ico,浏览器会自动去找到并显示.试了试,在firefox23和ie8下都没 ...
- python 多线程实现
多线程和多进程是什么自行google补脑 对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂.所以,这里力图用简单的例子,让你对多线程有个初步的认识. 单线程 在好些年前的 ...