扶凯

取势 明道 优术

正在浏览标签 Perl 6

总共找到 8 篇

一个正则表达式的故事 1,330 views

作者为 扶 凯 发表

By perlpilot 在 advent 的第十天,我们有一个故事做为礼物…… 曾几何时,在比你想象的更近的时候,一个叫 Tim 的学 Perl 6 程序的学生,工作中出现了一个简单的解析相关的问题.他的老板(我们叫他 C 先生)曾问过他,解析日志文件中包含着库存信息,确保在文件内是唯一有效的行.文件中每行内是这样的:     <part number> <quantity> <color> <d...

作者为 扶 凯 发表

By carl     在第9天的 advent 中…我打开了 …这是有关 parameters 和 arguments 你也许了解或者不了解 Perl5 的 是怎么处理函数参数的.先让你看看,它通常象下面的这个例子这样: sub sum { [+] @_ } say sum 100, 20, 3; # 123 这个 [+] 是在 Perl 6 中的,但我们也可以写成 Perl 5 风格的 my $i = 0; $i _= $_ for @_; $i. 我们要想到上面这些区...

.comb your constraints 1,296 views

作者为 扶 凯 发表

我们以前 advent 了解过的内容,对于今天所要介绍的礼物非常有用,今天要讲二个东西: comb 的方法和 constraints 的概念 constraints 和原来那章节中提到的静态变量定义的相同,constraints 可以让我们在写程序的时候就更方便的在子函数和方法上进行控制.在很多其它的程序中,你可以通过参数调用子函数并可以在参数进入的时候就通过 constraints 来验证输入的内容.这样我们就能在程序声明的...

有用的和有意思的循环 2,219 views

作者为 扶 凯 发表

我们常使用的任何语言,我们都知道循环非常的有用,在语言提供这些功能,我们常用象 foreach 之类的循环来从数组或者列表的开始到结束.在 Perl 5 中,提供了 foreach 的关键字,当然你也能写成 for 的关键字来实现象 C 风格的循环. 在 Perl 6 中,这些全都改变了. 现在 for 是专用来进行列表的迭代.foreach 就不在使用了.那个 C 风格的循环处理使用了新的关键字 loop.我们今天并不讨论这个东...

reduce 和 hyper 元操作符 1,780 views

作者为 扶 凯 发表

今天是第四天,在这个小盒子中,你会见到一些有意思的实现阶乘的函数 sub fac(Int $n) { [*] 1..$n } Okay, 它是怎么工作的? 今天的 Advent 的盒子就是为了给你提供答案. Perl 6 有一些不同的"元操作符"是用来修改现有的运算符完成更加强大的功能. 这个方括号中是一个有关“reduce metaoperator”的元操作符的例子,它是中缀运算符,会变成列表...

测试 1,622 views

作者为 扶 凯 发表

Perl 的作者都有非常好的传统,就是会对自己写的模块进行完整的测试.在 Perl 6 中我们打算延续这个良好的传统. 测试是非常容易的,传统的测试方法是打印所有协议的数据出来,但是你没有必要这样做,因为我们都使用模块来实成. 假设你写了一个非常好的阶乘的功能函数 sub fac(Int $n) { [*] 1..$n } 通常我们没有必要关心子函数内部是怎么工作的.,我们想看看是否合适我们使...

静态类型和多子函数 1,558 views

作者为 扶 凯 发表

打开Advent 这第三个盒子,这次我们要读到什么啦?啊….真好.这次没想到有二个礼物.这个盒子中放着 static types 和 multi subs. 在 Perl 5 中,$scalar 的标量只能包含二种东西引用或值,这值可以是任何东西,能是整数,字符,数字,日期和你的名字.这通常是非常方便的,但并不明确. 在 Perl6 中给你机会修改标量的类型 .如果你这个值比较特别,你可以直接放个类型名在 my 和 $variable ...

美丽的格式化输出 1,910 views

作者为 扶 凯 发表

IT•技术

打开第二个 Advent 中礼物给你所带来的是 Perl 6 的是什么啦?那就是 …. 方法名 .fmt 如果你了解 sprintf ,你会对 .fmt 感到宾至如归.如果你之前还从没有听说过的sprintf,或者如果你听说过,但有只了解一点模糊的细节,您可能要略读一下 perldoc .但不要被大量说明所淹没,尽管它的稍长.你得只要细细品味. 回到 .fmt , 这个是 sprintf 它的妹妹.下面有几个使用 .fmt 来格式化字符串...