Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您认为Perl 6'有什么用途;s路口?_Perl - Fatal编程技术网

您认为Perl 6'有什么用途;s路口?

您认为Perl 6'有什么用途;s路口?,perl,Perl,更多信息来自 交叉点 Perl 6引入了连接的概念:连接值是其他值的组合。[24]在Perl 6设计的早期,这些值被称为“叠加”,与量子物理学中的量子叠加概念类似,量子叠加是一种波形,可以同时占据多个状态,直到观测“崩溃”它们。Damian Conway在2000年发布了一个名为Quantum::迭加[25]的Perl 5模块,它提供了概念的初步证明。起初,这种叠加值似乎只是一种编程上的好奇心,但随着时间的推移,它们的实用性和直观性得到了广泛认可,连接现在在Perl 6的设计中占据了中心位置 在

更多信息来自

交叉点

Perl 6引入了连接的概念:连接值是其他值的组合。[24]在Perl 6设计的早期,这些值被称为“叠加”,与量子物理学中的量子叠加概念类似,量子叠加是一种波形,可以同时占据多个状态,直到观测“崩溃”它们。Damian Conway在2000年发布了一个名为Quantum::迭加[25]的Perl 5模块,它提供了概念的初步证明。起初,这种叠加值似乎只是一种编程上的好奇心,但随着时间的推移,它们的实用性和直观性得到了广泛认可,连接现在在Perl 6的设计中占据了中心位置

在最简单的形式中,连接是通过将一组值与连接运算符组合来创建的:

my $any_even_digit = 0|2|4|6|8; # any(0, 2, 4, 6, 8)
my $all_odd_digits = 1&3&5&7&9; # all(1, 3, 5, 7, 9)
|指示一个等于其左参数或右参数的值。&指示一个值,该值等于其左参数和右参数。这些值可以在任何使用正常值的代码中使用。在一个连接上执行的操作对连接的所有成员都有相同的作用,并根据连接操作符进行组合。所以,(“苹果”|“香蕉”)~“s”将产生“苹果”|“香蕉”。在比较中,连接为比较返回单个true或false结果。如果对连接的任何一个元素的比较为真,“any”连接返回真。如果对连接的所有元素进行比较为真,“所有”连接返回真

通过引入一种限制于类型连接的泛型编程风格,连接还可以用于更丰富地扩充类型系统:

sub get_tint ( RGB_Color|CMYK_Color $color, num $opacity) { ... }
sub store_record (Record&Storable $rec) { ... }

一个月有多少天

given( $month ){
  when any(qw'1 3 5 7 8 10 12') {
    $day = 31
  }
  when any(qw'4 6 9 11') {
    $day = 30
  }
  when 2 {
    $day = 29
  }
}

连接最吸引人的特性是,您不需要为复杂的情况编写大量的代码测试。描述交叉点的情况,然后应用测试。您不会考虑如何得到答案(例如,使用短路运算符或if块),而是考虑您要问的问题。

自动线程听起来很酷,尽管我不知道它的当前状态是什么

for all(@files) -> $file {
    do_something($file);
}

连接没有顺序,因此VM可以自由地为
@文件中的每个元素生成一个线程,并并行处理它们。

我也可以使用
one()
而不是
any()
,但是
any()
可能会更快。实际上,对于2月份的情况,也许我应该返回一个线程(28,29);我希望你能举个例子来说明你的意思。同上!请提供一个真实的例子。