
数字
|
61
就像之前处理
if
一样,可以使用同样的方法用
do
使这个代码更简短。最后计算的
表达式将作为整个
given
结构的值:
put 'Saw ', do given $some-number {
when Int { 'an integer' }
when Complex { 'a complex number' }
when Rat { 'a rat! Eek!' }
default { 'something' }
}
练习
3.3
使用
given
创建一个程序,报告你在命令行指定的数字的类型。
用
17
、
17.0
、
17i
和
Hamadryas
等参数尝试运行这个程序。
还可以用
$_
做一件有意思的事情。如果有一种方法调用点号,但是左边没有对象,
就会使用
$_
作
为对象:
$_.put;
.put;
put $_.roots unless $_.is-prime;
put .roots unless .is-prime;
可以使用一个后缀
given
为一个语句设置
$_
,从而避免多次键入变量。在这本书中,
你还会经常看到这个隐式主题
$_
:
my $some-number = 19;
put .^name, ' ', .is-prime given $some-number;
3.3
有理数
Perl 6
使用整数将非整数表示为分数(
fractions
)。你可能想当然地把它表示为一个
有小数点的数(有时称为浮点数),但是编译器会把它转换为一个分数。你能看到
这个简分数的分子和分母:
% perl6 ...